From af66d4384ccec94c18e1528b4b3dc0084bc8ddc9 Mon Sep 17 00:00:00 2001
From: Timothe Jost <timothe.jost@wanadoo.fr>
Date: Mon, 25 Sep 2023 16:41:05 +0200
Subject: [PATCH] temp one acessor

---
 Inflow/__init__.py         |  2 +-
 Inflow/pandex/accessors.py | 22 +++++++++++++++++++++-
 2 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/Inflow/__init__.py b/Inflow/__init__.py
index 5a298ad..b1a5886 100644
--- a/Inflow/__init__.py
+++ b/Inflow/__init__.py
@@ -1,4 +1,4 @@
-__version__ = "1.1.27"
+__version__ = "1.1.28"
 
 def ask_for_session_label_gui():
     import tkinter as tk
diff --git a/Inflow/pandex/accessors.py b/Inflow/pandex/accessors.py
index 63efba5..9eb43ba 100644
--- a/Inflow/pandex/accessors.py
+++ b/Inflow/pandex/accessors.py
@@ -34,4 +34,24 @@ class GroupUtilsAccessor:
     def groupby(self, condition_keys,*args,**kwargs):
         for condition_values , group in self._obj.groupby(condition_keys,*args,**kwargs):
             conditions = {key : value for key, value in zip(condition_keys , condition_values)}
-            yield conditions, group
\ No newline at end of file
+            yield conditions, group
+
+@pd.api.extensions.register_series_accessor("one")
+class OneAcessor:
+    def __init__(self, pandas_obj) -> None:
+        self._validate(pandas_obj)
+        self._obj = pandas_obj
+        self.project = self._obj.projects[0]
+
+    @staticmethod
+    def _validate(obj):
+        required_fields = ["path","alias","subject","date","number","json","qc","rel_path","admin_url", "projects"]
+        missing_fields = []
+        for req_field in required_fields :
+            if not req_field in obj.index :
+                missing_fields.append(req_field)
+        if len(missing_fields):
+            raise AttributeError(f"The series must have some fields to use one acessor. This object is missing fields : {','.join(missing_fields)}")
+        
+    def add_pipelines_accessors(self):
+        pass
-- 
GitLab