def parse(self): begin_sources = Source.objects.count() begin_publishers = Publisher.objects.count() begin_documents = Document.objects.count() begin_publications = Publication.objects.count() begin_employees = Employee.objects.count() begin_keywords = Keyword.objects.count() for line in self.parser.content: self.parser.handle_line(line) for record in self.parser.records: if record.document_type == 'Article in Press': continue record.clean() # print "record: ", record # print record.__dict__.items() publisher = loader.create_publisher(record) source = loader.create_source(record, publisher) loader.associate_publisher_and_source(publisher, source) document = loader.create_document(record, source) loader.create_keywords(record, document) publications = loader.create_publications(record, document) end_sources = Source.objects.count() end_publishers = Publisher.objects.count() end_documents = Document.objects.count() end_publications = Publication.objects.count() end_employees = Employee.objects.count() end_keywords = Keyword.objects.count() new_sources = end_sources - begin_sources new_publishers = end_publishers - begin_publishers new_documents = end_documents - begin_documents new_publications = end_publications - begin_publications new_employees = end_employees - begin_employees new_keywords = end_keywords - begin_keywords status = { 'employees_created': new_employees, 'documents_created': new_documents, 'publishers_created': new_publishers, 'sources_created': new_sources, 'publications_created': new_publications, 'keywords_created': new_keywords } return status
def parse(self): begin_sources = Source.objects.count() begin_publishers = Publisher.objects.count() begin_documents = Document.objects.count() begin_publications = Publication.objects.count() begin_employees = Employee.objects.count() begin_keywords = Keyword.objects.count() # get the records in the file, parse the XML into a usable record, perform functions on the record self.create_records() for record in self.records: if record.document_type == 'Article in Press': continue publisher = loader.create_publisher(record) source = loader.create_source(record, publisher) loader.associate_publisher_and_source(publisher, source) document = loader.create_document(record, source) loader.create_keywords(record, document) publications = loader.create_publications(record, document) end_sources = Source.objects.count() end_publishers = Publisher.objects.count() end_documents = Document.objects.count() end_publications = Publication.objects.count() end_employees = Employee.objects.count() end_keywords = Keyword.objects.count() new_sources = end_sources - begin_sources new_publishers = end_publishers - begin_publishers new_documents = end_documents - begin_documents new_publications = end_publications - begin_publications new_employees = end_employees - begin_employees new_keywords = end_keywords - begin_keywords status = { 'employees_created': new_employees, 'documents_created': new_documents, 'publishers_created': new_publishers, 'sources_created': new_sources, 'publications_created': new_publications, 'keywords_created': new_keywords } return status
def parse(self): begin_sources = Source.objects.count() begin_publishers = Publisher.objects.count() begin_documents = Document.objects.count() begin_publications = Publication.objects.count() begin_employees = Employee.objects.count() begin_keywords = Keyword.objects.count() for line in self.parser.content: self.parser.handle_line(line) for record in self.parser.records: if record.document_type == 'Article in Press': continue record.clean() publisher = loader.create_publisher(record) source = loader.create_source(record, publisher) loader.associate_publisher_and_source(publisher, source) document = loader.create_document(record, source) loader.create_keywords(record, document) publications = loader.create_publications(record, document, nameorder_significant=True) end_sources = Source.objects.count() end_publishers = Publisher.objects.count() end_documents = Document.objects.count() end_publications = Publication.objects.count() end_employees = Employee.objects.count() end_keywords = Keyword.objects.count() new_sources = end_sources - begin_sources new_publishers = end_publishers - begin_publishers new_documents = end_documents - begin_documents new_publications = end_publications - begin_publications new_employees = end_employees - begin_employees new_keywords = end_keywords - begin_keywords status = {'employees_created':new_employees, 'documents_created':new_documents, 'publishers_created':new_publishers, 'sources_created':new_sources, 'publications_created':new_publications, 'keywords_created':new_keywords} return status
def parse(self): begin_sources = Source.objects.count() begin_publishers = Publisher.objects.count() begin_documents = Document.objects.count() begin_publications = Publication.objects.count() begin_employees = Employee.objects.count() begin_keywords = Keyword.objects.count() # get the records in the file, parse the XML into a usable record, perform functions on the record self.create_records() for record in self.records: if record.document_type == 'Article in Press': continue publisher = loader.create_publisher(record) source = loader.create_source(record, publisher) loader.associate_publisher_and_source(publisher, source) document = loader.create_document(record, source) loader.create_keywords(record, document) publications = loader.create_publications(record, document) end_sources = Source.objects.count() end_publishers = Publisher.objects.count() end_documents = Document.objects.count() end_publications = Publication.objects.count() end_employees = Employee.objects.count() end_keywords = Keyword.objects.count() new_sources = end_sources - begin_sources new_publishers = end_publishers - begin_publishers new_documents = end_documents - begin_documents new_publications = end_publications - begin_publications new_employees = end_employees - begin_employees new_keywords = end_keywords - begin_keywords status = {'employees_created':new_employees, 'documents_created':new_documents, 'publishers_created':new_publishers, 'sources_created':new_sources, 'publications_created':new_publications, 'keywords_created':new_keywords} return status