Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Add conversational class
  • Loading branch information
vitalii-bulyzhyn committed Feb 22, 2023
commit 6e2765be7f792319de5cadb3d5cfa618fb3a094b
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,9 @@ sdk/diffgram/utils/__pycache__/

venv/*

diffgram.egg-info

playground.py

sdk/build/*
sdk/dist/
4 changes: 4 additions & 0 deletions sdk/diffgram/core/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
from diffgram.brain.train import Train
from diffgram.export.export import Export
from diffgram.task.task import Task
from diffgram.schema.schema import Schema
from diffgram.schema.attribute import Attribute
from requests.auth import HTTPBasicAuth


Expand Down Expand Up @@ -86,6 +88,8 @@ def __init__(

self.label_schema_list = self.get_label_schema_list()

self.schema = Schema(self)
self.attribute = Attribute(self)


def get_member_list(self):
Expand Down
25 changes: 25 additions & 0 deletions sdk/diffgram/file/conversational.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
from .compound_file import CompoundFile

class Conversational:
def __init__(self, project, name):
self.parent = CompoundFile(
project=project,
name=name,
directory_id=project.default_directory.id
)

self.messgaes_meta = []

def add_message(self, message_file, author=None, time=None, date=None):
message_meta = {
"author": author,
"time": time,
"date": date
}

self.messgaes_meta.append(message_meta)

self.parent.add_child_from_local(path=message_file, ordinal=len(self.messgaes_meta))

def upload(self):
self.parent.upload()
Empty file added sdk/diffgram/schema/__init__.py
Empty file.
61 changes: 61 additions & 0 deletions sdk/diffgram/schema/attribute.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
class Attribute:
Comment thread
PJEstrada marked this conversation as resolved.
def __init__(self, project):
self.project = project

def list(self, schema):
url = f'/api/v1/project/{self.project.project_string_id}/attribute/template/list'
payload = {
"schema_id": schema['id'],
"mode": "from_project"
}

response = self.project.session.post(url = self.project.host + url, json=payload)

self.project.handle_errors(response)
data = response.json()

return data

def new(self, schema):
url = f'/api/v1/project/{self.project.project_string_id}/attribute/group/new'
payload = {
"schema_id": schema['id']
}

response = self.project.session.post(url = self.project.host + url, json=payload)

self.project.handle_errors(response)
data = response.json()

return data

def update(self,
attribute,
prompt,
kind,
is_global = False,
label_file_list = None,
global_type = 'file'
):
url = f'/api/v1/project/{self.project.project_string_id}/attribute/group/update'
payload = {
"group_id": attribute['attribute_template_group']['id'],
"mode": "UPDATE",
"prompt": prompt,
"kind": kind,
"is_global": is_global,
"label_file_list": label_file_list,
"global_type": global_type
}

response = self.project.session.post(url = self.project.host + url, json=payload)

self.project.handle_errors(response)
data = response.json()

return data

def add_options(self, attribute, options):
pass


48 changes: 48 additions & 0 deletions sdk/diffgram/schema/schema.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
class Schema:
def __init__(self, project):
self.project = project

def list(self):
url = f'/api/v1/project/{self.project.project_string_id}/labels-schema'
response = self.project.session.get(url = self.project.host + url)
self.project.handle_errors(response)
data = response.json()

return data

def default_schema(self):
url = f'/api/v1/project/{self.project.project_string_id}/labels-schema'
response = self.project.session.get(url = self.project.host + url)
self.project.handle_errors(response)
data = response.json()

default_schema = None

for schema in data:
if schema['is_default'] == True:
default_schema = schema

return default_schema


def new(self, name):
url = f'/api/v1/project/{self.project.project_string_id}/labels-schema/new'
payload = {
"name": name
}

response = self.project.session.post(url = self.project.host + url, json=payload)

self.project.handle_errors(response)
data = response.json()

return data

def update(self, name):
#Todo
pass

def archive(self, name):
#Todo
pass