def test_save_new(self, tag_manager, tag, tag_name_parametrized): """Make sure an instance is created and returned.""" tag.name = tag_name_parametrized dbus_tag = helpers.hamster_to_dbus_tag(tag) result = tag_manager.Save(dbus_tag) result = helpers.dbus_to_hamster_tag(result) assert result.pk assert tag.as_tuple(include_pk=False) == result.as_tuple( include_pk=False)
def GetAll(self): # NOQA """ Get all tags. Returns: list: List of ``helpers.DBusTag``s. For details see ``helpers.hamster_to_dbus_tag``. """ tags = self._controller.store.tags.get_all() return [helpers.hamster_to_dbus_tag(tag) for tag in tags]
def GetByName(self, name): # NOQA """ Look up a tag by its name and return its PK. Args: name (str): Name of the tag to we want the PK of. Returns: helpers.DBusTag: For details please see ``helpers.haster_to_dbus_tag``. """ tag = self._controller.store.tags.get_by_name(name) return helpers.hamster_to_dbus_tag(tag)
def save(self, tag): """ Save a tag. For details see the corresponding method in ``hamster_lib.storage``. """ if not isinstance(tag, lib_objects.Tag): message = _( "You need to pass a ``hamster_lib.objects.Tag`` instance") raise TypeError(message) dbus_tag = helpers.hamster_to_dbus_tag(tag) result = self._interface.Save(dbus_tag) return helpers.dbus_to_hamster_tag(result)
def Save(self, tag_tuple): # NOQA """ Save tag. Args: tag_tuple: hamster_lib.Tag tuple. Returns: helpers.DBusTag: For details please see ``helpers.haster_to_dbus_tag``. """ tag = helpers.dbus_to_hamster_tag(tag_tuple) tag = self._controller.store.tags.save(tag) self._main_object.TagChanged() return helpers.hamster_to_dbus_tag(tag)
def get_or_create(self, tag): """ Check if we already got a tag with that name, if not create one. For details see the corresponding method in ``hamster_lib.storage``. Args: tag (hamster_lib.Tag): The tag we want. Returns: hamster_lib.Tag: The retrieved or created tag. Raises: TypeError: If ``tag`` is not a ``lib_objects.Tag`` instance. """ if not isinstance(tag, lib_objects.Tag): message = _( "You need to pass a ``hamster_lib.objects.Tag`` instance") raise TypeError(message) dbus_tag = helpers.hamster_to_dbus_tag(tag) result = self._interface.GetOrCreate(dbus_tag) return helpers.dbus_to_hamster_tag(result)
def test_hamster_to_dbus_tag(tag, expectation): """Make sure that serialization works as intended.""" result = helpers.hamster_to_dbus_tag(tag) assert result == expectation assert isinstance(result, DBusTag)
def factory(**kwargs): tag = tag_factory.build(**kwargs) result = tag_manager.Save(helpers.hamster_to_dbus_tag(tag)) return helpers.dbus_to_hamster_tag(result)