예제 #1
0
 def write_static_inventory(self):
     """Writes the inventory to the filesystem"""
     # Generate sitemap in temp directory
     then = time.time()
     self.ensure_temp_dir(Source.TEMP_FILE_PATH)
     inventory = self.generate()
     basename = Source.TEMP_FILE_PATH + "/sitemap.xml"
     s = Sitemap()
     s.max_sitemap_entries = self.config['max_sitemap_entries']
     s.mapper = Mapper([self.source.base_uri, Source.TEMP_FILE_PATH])
     s.write(inventory, basename)
     # Delete old sitemap files; move the new ones; delete the temp dir
     self.rm_sitemap_files(Source.STATIC_FILE_PATH)
     self.mv_sitemap_files(Source.TEMP_FILE_PATH, Source.STATIC_FILE_PATH)
     shutil.rmtree(Source.TEMP_FILE_PATH)
     now = time.time()
     # Log Sitemap create start event
     sitemap_size = self.compute_sitemap_size(Source.STATIC_FILE_PATH)
     log_data = {
         'time': (now - then),
         'no_resources': self.source.resource_count
     }
     self.logger.info("Wrote static sitemap inventory. %s" % log_data)
     sm_write_end = ResourceChange(resource=ResourceChange(
         self.uri, size=sitemap_size, timestamp=then),
                                   changetype="UPDATED")
     self.source.notify_observers(sm_write_end)
예제 #2
0
파일: source.py 프로젝트: pedak/sync-oai
 def write_static_inventory(self):
     """Writes the inventory to the filesystem"""
     # Generate sitemap in temp directory
     then = time.time()
     self.ensure_temp_dir(Source.TEMP_FILE_PATH)
     inventory = self.generate()
     basename = Source.TEMP_FILE_PATH + "/sitemap.xml"
     s=Sitemap()
     s.max_sitemap_entries=self.config['max_sitemap_entries']
     s.mapper=Mapper([self.source.base_uri, Source.TEMP_FILE_PATH])
     s.write(inventory, basename)
     # Delete old sitemap files; move the new ones; delete the temp dir
     self.rm_sitemap_files(Source.STATIC_FILE_PATH)
     self.mv_sitemap_files(Source.TEMP_FILE_PATH, Source.STATIC_FILE_PATH)
     shutil.rmtree(Source.TEMP_FILE_PATH)
     now = time.time()
     # Log Sitemap create start event
     sitemap_size = self.compute_sitemap_size(Source.STATIC_FILE_PATH)
     log_data = {'time': (now-then), 
                 'no_resources': self.source.resource_count}
     self.logger.info("Wrote static sitemap inventory. %s" % log_data)
     sm_write_end = ResourceChange(
             resource = ResourceChange(self.uri, 
                             size=sitemap_size,
                             timestamp=then),
                             changetype = "UPDATED")
     self.source.notify_observers(sm_write_end)
예제 #3
0
 def write_static_inventory(self):
     """Writes the inventory to the filesystem"""
     self.generate()
     self.delete_sitemap_files()
     basename = Source.STATIC_FILE_PATH + "/sitemap.xml"
     then = time.time()
     s=Sitemap()
     s.max_sitemap_entries=self.config['max_sitemap_entries']
     s.mapper=Mapper([self.source.base_uri, Source.STATIC_FILE_PATH])
     s.write(self, basename)
     now = time.time()
     print "Wrote static sitemap in %s seconds" % str(now-then)
예제 #4
0
 def write_changeset(self):
     """Writes all cached changes to a file; empties the cache"""
     then = time.time()
     changeset = self.generate()
     basename = Source.STATIC_FILE_PATH + "/" + self.current_changeset_file()
     s=Sitemap()
     s.max_sitemap_entries=self.config['max_sitemap_entries']
     s.mapper=Mapper([self.source.base_uri, Source.STATIC_FILE_PATH])
     s.write(changeset, basename)
     now = time.time()
     self.previous_changeset_id = self.previous_changeset_id + 1
     self.logger.info("Wrote static changeset..")
예제 #5
0
 def write_changeset(self):
     """Writes all cached changes to a file; empties the cache"""
     then = time.time()
     changeset = self.generate()
     basename = Source.STATIC_FILE_PATH + "/" + self.current_changeset_file()
     s=Sitemap()
     s.max_sitemap_entries=self.config['max_sitemap_entries']
     s.mapper=Mapper([self.source.base_uri, Source.STATIC_FILE_PATH])
     s.write(changeset, basename)
     now = time.time()
     # sitemap_size = 50
     log_data = {}
     # log_data = {'time': (now-then), 
     #             'no_resources': self.source.resource_count}
     self.previous_changeset_id = self.previous_changeset_id + 1
     self.logger.info("Wrote static changeset. %s" % log_data)