class AssociatedKeyActivity(AbstractActivity): name = "Associated-Key tagged activity" def __init__(self, id, name, tags): AbstractActivity.__init__(self, id, name) self.tags = tags self.player = AssociatedKeyActivityPlayer(self.tags) def run(self, writer): self.player.play(writer) def stop(self): self.player.stop() def __str__(self): toret = "Associated key activity:\n" \ "Id: {id}\n" \ "Name: {name}\n".format(id=self.id, name=self.name) for tag in self.tags: toret += "Photo presentation tag:\n" \ "\tName: {name}\n" \ "\tScreen text: {screentext}\n" \ "\tAssociated key: {key}\n".format(name=tag.name, screentext=tag.screentext, key=tag.key) return toret def export_to_file(self, file_path): from dao.XMLUtils import dump_activity_to_file AUX_FOLDER = os.path.join(os.path.expanduser('~'), "activity_auxiliary_folder") try: os.mkdir(AUX_FOLDER) except OSError: shutil.rmtree(AUX_FOLDER) os.mkdir(AUX_FOLDER) with open(os.path.join(AUX_FOLDER, "key.xml"), "wt") as f: dump_activity_to_file(self, f) pack_folder_and_remove(AUX_FOLDER, file_path) @classmethod def import_from_file(cls, file_path): from dao.XMLUtils import get_activity_object_from_xml activity_folder = CONF_DIR unpack_tar_file_and_remove(file_path, activity_folder) with open( os.path.join(activity_folder, "activity_auxiliary_folder", "key.xml"), "rt") as f: activity = get_activity_object_from_xml(f) shutil.rmtree( os.path.join(activity_folder, "activity_auxiliary_folder")) return activity
class AssociatedKeyActivity(AbstractActivity): name = "Associated-Key tagged activity" def __init__(self, id, name, tags): AbstractActivity.__init__(self, id, name) self.tags = tags self.player = AssociatedKeyActivityPlayer(self.tags) def run(self, writer): self.player.play(writer) def stop(self): self.player.stop() def __str__(self): toret = "Associated key activity:\n" \ "Id: {id}\n" \ "Name: {name}\n".format(id=self.id, name=self.name) for tag in self.tags: toret += "Photo presentation tag:\n" \ "\tName: {name}\n" \ "\tScreen text: {screentext}\n" \ "\tAssociated key: {key}\n".format(name=tag.name, screentext=tag.screentext, key=tag.key) return toret def export_to_file(self, file_path): from dao.XMLUtils import dump_activity_to_file AUX_FOLDER = os.path.join(os.path.expanduser('~'), "activity_auxiliary_folder") try: os.mkdir(AUX_FOLDER) except OSError: shutil.rmtree(AUX_FOLDER) os.mkdir(AUX_FOLDER) with open(os.path.join(AUX_FOLDER, "key.xml"), "wt") as f: dump_activity_to_file(self, f) pack_folder_and_remove(AUX_FOLDER, file_path) @classmethod def import_from_file(cls, file_path): from dao.XMLUtils import get_activity_object_from_xml activity_folder = CONF_DIR unpack_tar_file_and_remove(file_path, activity_folder) with open(os.path.join(activity_folder, "activity_auxiliary_folder", "key.xml"), "rt") as f: activity = get_activity_object_from_xml(f) shutil.rmtree(os.path.join(activity_folder, "activity_auxiliary_folder")) return activity
def __init__(self, id, name, tags): AbstractActivity.__init__(self, id, name) self.tags = tags self.player = AssociatedKeyActivityPlayer(self.tags)