Exemplo n.º 1
0
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
Exemplo n.º 2
0
 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()