Example #1
0
    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)
Example #2
0
    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]
Example #3
0
    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)
Example #4
0
    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)
Example #5
0
    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)
Example #6
0
    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)
Example #7
0
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)
Example #8
0
 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)