def _add_to_recents(self, path): settings = Settings.retrieve('backstage') recents = settings.get('recents', [ ]) for recent in recents: if path == recent['path']: recents.remove(recent) break name = os.path.basename(path) location = os.path.dirname(path) documents_dir = Dirs.documents_dir() home_dir = Dirs.home_dir() desktop_dir = Dirs.desktop_dir() if location.startswith(documents_dir): location = location.replace(documents_dir, '{{Documents}}') if location.startswith(desktop_dir): location = location.replace(desktop_dir, '{{Desktop}}') if location.startswith(home_dir): location = location.replace(home_dir, '{{Home}}') recents.insert(0, { 'name': name, 'path': path, 'location': location }) recents = recents[0:5] settings.set('recents', recents) settings.sync() for instanceId, instance in Instance.instances.items(): instance._on_settings()
def _on_settings(self, request=None): settings = Settings.retrieve('backstage') localFSRecents = settings.get('localFSRecents') if localFSRecents is None: localFSRecents = [ { 'name': '{{Documents}}', 'path': '{{Documents}}' }, { 'name': '{{Desktop}}', 'path': '{{Desktop}}' } ] recents = settings.get('recents', [ ]) response = silkycoms.SettingsResponse() for recent in recents: recentEntry = silkycoms.DataSetEntry() recentEntry.name = recent['name'] recentEntry.path = recent['path'] recentEntry.location = recent['location'] response.recents.append(recentEntry) for localFSRecent in localFSRecents: recent = silkycoms.DataSetEntry() recent.name = localFSRecent['name'] recent.path = localFSRecent['path'] response.localFSRecents.append(recent) self._coms.send(response, self._instance_id, request)
def __init__(self, session_path, instance_id=None): self._coms = None self._dataset = None self._filepath = None self._analyses = Analyses() self._em = EngineManager() self._session_path = session_path self._em.add_results_listener(self._on_results) settings = Settings.retrieve() settings.sync() if instance_id is not None: self._instance_id = instance_id else: self._instance_id = str(uuid.uuid4()) print("created " + self._instance_id) self._instance_path = os.path.join(self._session_path, self._instance_id) os.makedirs(self._instance_path, exist_ok=True) self._buffer_path = os.path.join(self._instance_path, 'buffer') self._em.start(self._session_path) Instance.instances[self._instance_id] = self