class Synchronizer(object): HOME = expanduser("~") SYNCHRONIZED_NOTES_FILEPATH = os.path.join(HOME, ".synchronized_notes.csv") SYNCHRONIZED_NOTEBOOKS_FILEPATH = os.path.join(HOME, ".synchronized_notebooks.csv") def __init__(self): self._notes = Serializer(self.SYNCHRONIZED_NOTES_FILEPATH) self._notebooks = Serializer(self.SYNCHRONIZED_NOTEBOOKS_FILEPATH) self._note_builder = NoteBuilder() self._notebook_builder = NotebookBuilder() self._store_connector = StoreConnector() def synchronizeBook(self, book): """ Create a remote Notebook, if not already created, representation of the given book. Return the notebook guid. @param book: Book @return: string guid """ try: notebook_guid = self._notebooks[hash(book)] except KeyError, _: notebook = self._notebook_builder.makeNotebook(book) logging.info("Synchronizing notebook %s...", str(notebook)) remote_notebook = self._store_connector.store.createNotebook(StoreConnector.DEV_TOKEN, notebook) self._notebooks[hash(book)] = remote_notebook.guid notebook_guid = remote_notebook.guid return notebook_guid
def __init__(self): self._notes = Serializer(self.SYNCHRONIZED_NOTES_FILEPATH) self._notebooks = Serializer(self.SYNCHRONIZED_NOTEBOOKS_FILEPATH) self._note_builder = NoteBuilder() self._notebook_builder = NotebookBuilder() self._store_connector = StoreConnector()