コード例 #1
0
 def create_project(self, label, short_des):
     """ Creates a new project in the Manifest
         and projects tables
     """
     uuid = GenUUID.uuid4()
     man_proj = Manifest()
     man_proj.uuid = uuid
     man_proj.label = label
     man_proj.source_id = "manual"
     man_proj.item_type = "projects"
     man_proj.project_uuid = uuid
     man_proj.des_predicate_uuid = ""
     man_proj.class_uri = ""
     man_proj.views = 0
     man_proj.save()
     pobj = Project()
     pobj.uuid = uuid
     pobj.source_id = "manual"
     pobj.project_uuid = uuid
     pobj.label = label
     pobj.edit_status = 0
     pobj.short_des = short_des
     pobj.content = ""
     pobj.save()
     return uuid
コード例 #2
0
 def create_project(self, post_data):
     """ creates a project item into a project
     """
     ok = True
     required_params = ['source_id', 'label', 'short_des']
     for r_param in required_params:
         if r_param not in post_data:
             # we're missing some required data
             # don't create the item
             ok = False
             message = 'Missing paramater: ' + r_param + ''
             if self.errors['params'] is False:
                 self.errors['params'] = message
             else:
                 self.errors['params'] += '; ' + message
     uuid = self.create_or_validate_uuid(post_data)
     if uuid is False:
         ok = False
         note = self.errors['uuid']
     if ok:
         label = post_data['label']
         if self.oc_root_project:
             project_uuid = uuid
         else:
             project_uuid = self.project_uuid
         new_proj = Project()
         new_proj.uuid = uuid
         new_proj.project_uuid = project_uuid
         new_proj.source_id = post_data['source_id']
         new_proj.edit_status = 0
         new_proj.label = label
         new_proj.short_des = post_data['short_des']
         new_proj.save()
         new_man = Manifest()
         new_man.uuid = uuid
         new_man.project_uuid = project_uuid
         new_man.source_id = post_data['source_id']
         new_man.item_type = 'projects'
         new_man.repo = ''
         new_man.class_uri = ''
         new_man.label = label
         new_man.des_predicate_uuid = ''
         new_man.views = 0
         new_man.save()
     else:
         label = '[Item not created]'
         uuid = False
     self.response = {
         'action': 'create-item-into',
         'ok': ok,
         'change': {
             'uuid': uuid,
             'label': label,
             'note': self.add_creation_note(ok)
         }
     }
     return self.response
コード例 #3
0
 def create_project(self, post_data):
     """ creates a project item into a project
     """
     ok = True
     required_params = ['source_id',
                        'label',
                        'short_des']
     for r_param in required_params:
         if r_param not in post_data:
             # we're missing some required data
             # don't create the item
             ok = False
             message = 'Missing paramater: ' + r_param + ''
             if self.errors['params'] is False:
                 self.errors['params'] = message
             else:
                 self.errors['params'] += '; ' + message
     uuid = self.create_or_validate_uuid(post_data)
     if uuid is False:
         ok = False
         note = self.errors['uuid']
     if ok:
         label = post_data['label']
         if self.oc_root_project:
             project_uuid = uuid
         else:
             project_uuid = self.project_uuid
         new_proj = Project()
         new_proj.uuid = uuid
         new_proj.project_uuid = project_uuid
         new_proj.source_id = post_data['source_id']
         new_proj.edit_status = 0
         new_proj.label = label
         new_proj.short_des = post_data['short_des']
         new_proj.save()
         new_man = Manifest()
         new_man.uuid = uuid
         new_man.project_uuid = project_uuid
         new_man.source_id = post_data['source_id']
         new_man.item_type = 'projects'
         new_man.repo = ''
         new_man.class_uri = ''
         new_man.label = label
         new_man.des_predicate_uuid = ''
         new_man.views = 0
         new_man.save()
     else:
         label = '[Item not created]'
         uuid = False
     self.response = {'action': 'create-item-into',
                      'ok': ok,
                      'change': {'uuid': uuid,
                                 'label': label,
                                 'note': self.add_creation_note(ok)}}
     return self.response
コード例 #4
0
ファイル: models.py プロジェクト: rdhyee/open-context-py
 def store_records(self, act_table, recs):
     """
     stores records retrieved for a given table
     """
     i = 0
     for record in recs:
         i += 1
         allow_write = self.check_allow_write(act_table, record)
         record = self.prep_update_keep_old(act_table, record)
         if (allow_write is False and self.update_keep_old is False):
             print('\n Not allowed to overwite record.' + str(i))
         else:
             # print('\n Adding record:' + str(record))
             newr = False
             if (act_table == 'link_annotations'):
                 newr = LinkAnnotation(**record)
             elif (act_table == 'link_entities'):
                 newr = LinkEntity(**record)
             elif (act_table == 'oc_assertions'):
                 newr = Assertion(**record)
             elif (act_table == 'oc_manifest'):
                 newr = Manifest(**record)
             elif (act_table == 'oc_subjects'):
                 newr = Subject(**record)
             elif (act_table == 'oc_mediafiles'):
                 newr = Mediafile(**record)
             elif (act_table == 'oc_documents'):
                 newr = OCdocument(**record)
             elif (act_table == 'oc_persons'):
                 newr = Person(**record)
             elif (act_table == 'oc_projects'):
                 newr = Project(**record)
             elif (act_table == 'oc_strings'):
                 newr = OCstring(**record)
             elif (act_table == 'oc_types'):
                 newr = OCtype(**record)
             elif (act_table == 'oc_geospace'):
                 newr = Geospace(**record)
             elif (act_table == 'oc_events'):
                 newr = Event(**record)
             elif (act_table == 'oc_predicates'):
                 newr = Predicate(**record)
             elif (act_table == 'oc_identifiers'):
                 newr = StableIdentifer(**record)
             elif (act_table == 'oc_obsmetadata'):
                 newr = ObsMetadata(**record)
             if (newr is not False):
                 try:
                     newr.save(force_insert=self.force_insert,
                               force_update=self.update_keep_old)
                 except Exception as error:
                     print('Something slipped past in ' + act_table +
                           '...' + str(error))
コード例 #5
0
 def store_records(self, act_table, recs):
     """
     stores records retrieved for a given table
     """
     for rkey, record in recs.items():
         if (act_table == 'link_annotations'):
             newr = LinkAnnotation(**record)
             newr.save()
         elif (act_table == 'link_entities'):
             newr = LinkEntity(**record)
             newr.save()
         elif (act_table == 'link_hierarchies'):
             newr = LinkHierarchy(**record)
             newr.save()
         elif (act_table == 'oc_chronology'):
             newr = Chronology(**record)
             newr.save()
         elif (act_table == 'oc_geodata'):
             newr = Geodata(**record)
             newr.save()
         elif (act_table == 'oc_mediafiles'):
             newr = Mediafile(**record)
             newr.save()
         elif (act_table == 'oc_documents'):
             newr = OCdocument(**record)
             newr.save()
         elif (act_table == 'oc_persons'):
             newr = Person(**record)
             newr.save()
         elif (act_table == 'oc_projects'):
             newr = Project(**record)
             newr.save()
         elif (act_table == 'oc_strings'):
             newr = OCstring(**record)
             newr.save()
         elif (act_table == 'oc_types'):
             newr = OCtype(**record)
             newr.save()
         elif (act_table == 'oc_events'):
             newr = Event(**record)
             newr.save()
         elif (act_table == 'oc_predicates'):
             newr = Predicate(**record)
             newr.save()
         elif (act_table == 'oc_identifiers'):
             newr = StableIdentifer(**record)
             newr.save()
         elif (act_table == 'oc_obsmetadata'):
             newr = ObsMetadata(**record)
             newr.save()
コード例 #6
0
ファイル: templating.py プロジェクト: rdhyee/open-context-py
 def check_exists(self, uuid):
     """ checks to see if the input profile exists """
     if self.exists_ok is None:
         self.uuid = uuid
         ok = True
         try:
             self.inp_prof = InputProfile.objects.get(uuid=uuid)
             self.label = self.inp_prof.label
             self.project_uuid = self.inp_prof.project_uuid
         except InputProfile.DoesNotExist:
             self.inp_prof = False
             ok = False
         if ok and self.project_uuid == '0':
             self.project_man = Manifest()
             self.project_man.label = 'Open Context (General Project)'
             self.project = Project()
             self.project.label = self.project_man.label
             self.project.slug = 'oc'
         if ok and self.project_uuid != '0':
             try:
                 self.project_man = Manifest.objects.get(
                     uuid=self.project_uuid, item_type='projects')
             except Manifest.DoesNotExist:
                 self.project_man = False
                 ok = False
         if ok and self.project_uuid != '0':
             try:
                 self.project = Project.objects.get(uuid=self.project_uuid)
                 self.project.label = self.project_man.label
                 self.project.slug = self.project_man.slug
             except Project.DoesNotExist:
                 self.project = False
                 ok = False
         self.exists_ok = ok
     else:
         ok = self.exists_ok
     return ok
コード例 #7
0
 def create_project(self, label, short_des):
     """ Creates a new project in the Manifest
         and projects tables
     """
     uuid = GenUUID.uuid4()
     man_proj = Manifest()
     man_proj.uuid = uuid
     man_proj.label = label
     man_proj.source_id = 'manual'
     man_proj.item_type = 'projects'
     man_proj.project_uuid = uuid
     man_proj.des_predicate_uuid = ''
     man_proj.class_uri = ''
     man_proj.views = 0
     man_proj.save()
     pobj = Project()
     pobj.uuid = uuid
     pobj.source_id = 'manual'
     pobj.project_uuid = uuid
     pobj.label = label
     pobj.edit_status = 0
     pobj.short_des = short_des
     pobj.content = ''
     pobj.save()
     return uuid