Example #1
0
    def parse(self, text):
        """
        Return AppInfo instance
        """
        try:
            root = ElementTree.fromstring(text)
        except ElementTree.ParseError:
            appinfo = AppInfo(u'', None)
            return appinfo

        name = self._getTextValue(root, u'name')
        updatesUrl = self._getTextValue(root, u'updates')
        requirements = self._getRequirements(root)

        # Get data tag for selected language
        data_tag = self._getDataTag(root)
        appwebsite = self._getAppWebsite(data_tag)
        description = self._getDescription(data_tag)
        author = self._getAuthorInfo(data_tag)
        versionsList = self._getVersionsList(data_tag)

        appinfo = AppInfo(name,
                          author=author,
                          versionsList=versionsList,
                          appwebsite=appwebsite,
                          description=description,
                          updatesUrl=updatesUrl,
                          requirements=requirements)
        return appinfo
Example #2
0
    def test_changelog_single_03(self):
        version_1 = VersionInfo(Version.parse(u'1.2.3 beta'))
        changelog = [version_1]
        appinfo = AppInfo(self._appname, self._author, changelog)
        generator = SiteChangelogGenerator(appinfo)
        changelog = generator.make()

        right_result = u'''!!!! 1.2.3 beta'''
        self.assertEqual(changelog, right_result)
Example #3
0
    def test_changelog_empty(self):
        maintainer = u'Ivan Petrov'
        maintainer_email = u'*****@*****.**'
        changelog = []
        date_str = u'13.06.2016'

        appinfo = AppInfo(self._appname, None, changelog)
        generator = DebChangelogGenerator(appinfo, maintainer,
                                          maintainer_email)

        self.assertRaises(ValueError, generator.make, self._distrib, date_str)
Example #4
0
    def test_changelog_single_changes_01(self):
        changes = [u'Первая версия.']
        version_1 = VersionInfo(Version(1, 0), changes=changes)
        changelog = [version_1]
        appinfo = AppInfo(self._appname, self._author, changelog)
        generator = SiteChangelogGenerator(appinfo)
        changelog = generator.make()

        right_result = u'''!!!! 1.0

* Первая версия.'''
        self.assertEqual(changelog, right_result)
Example #5
0
    def test_changelog_single_changes_02(self):
        changes = [u'Исправление ошибок.', u'Добавлена новая возможность.']
        version_1 = VersionInfo(Version(1, 0), changes=changes)
        changelog = [version_1]
        appinfo = AppInfo(self._appname, self._author, changelog)
        generator = SiteChangelogGenerator(appinfo)
        changelog = generator.make()

        right_result = u'''!!!! 1.0

* Исправление ошибок.
* Добавлена новая возможность.'''
        self.assertEqual(changelog, right_result)
Example #6
0
    def test_filter_empty_03(self):
        from updatenotifier.updatecontroller import UpdateController

        plugin = self.loader['UpdateNotifier']
        controller = UpdateController(self.application, plugin)

        currentVersionsDict = {}
        latestVersionsDict = {
            'test_01': AppInfo('test', None),
        }

        result = controller.filterUpdatedApps(currentVersionsDict,
                                              latestVersionsDict)

        self.assertEqual(result, {})
Example #7
0
    def test_filter_empty_05(self):
        from updatenotifier.updatecontroller import UpdateController

        plugin = self.loader['UpdateNotifier']
        controller = UpdateController(self.application, plugin)

        latestVersion = Version(1, 0)
        latestVersionInfo = VersionInfo(latestVersion)

        currentVersionsDict = {'test_02': '1.0'}
        latestVersionsDict = {
            'test_01': AppInfo('test', None, versionsList=[latestVersionInfo]),
        }

        result = controller.filterUpdatedApps(currentVersionsDict,
                                              latestVersionsDict)

        self.assertEqual(result, {})
    def test_filter_empty_04(self):
        from updatenotifier.updatecontroller import UpdateController

        pluginPath = self.loader[u'UpdateNotifier'].pluginPath
        controller = UpdateController(Application, pluginPath)

        latestVersion = Version(1, 0)
        latestVersionInfo = VersionInfo(latestVersion)

        currentVersionsDict = {}
        latestVersionsDict = {
            u'test_01': AppInfo(u'test',
                                None,
                                versionsList=[latestVersionInfo]),
        }

        result = controller.filterUpdatedApps(currentVersionsDict,
                                              latestVersionsDict)

        self.assertEqual(result, {})
Example #9
0
    def test_changelog_versions_01(self):
        changes_1 = [u'Первая версия.']
        version_1 = VersionInfo(Version(1, 0), changes=changes_1)

        changes_2 = [u'Исправление ошибок.', u'Добавлена новая возможность.']
        version_2 = VersionInfo(Version(1, 1), changes=changes_2)
        changelog = [version_1, version_2]
        appinfo = AppInfo(self._appname, self._author, changelog)
        generator = SiteChangelogGenerator(appinfo)
        changelog = generator.make()

        right_result = u'''!!!! 1.1

* Исправление ошибок.
* Добавлена новая возможность.


!!!! 1.0

* Первая версия.'''
        self.assertEqual(changelog, right_result, changelog)
Example #10
0
    def test_changelog_02(self):
        changes_1 = [u'Изменение 1']
        version_1 = VersionInfo(Version(1, 2, 3, 100), changes=changes_1)

        maintainer = u'Ivan Petrov'
        maintainer_email = u'*****@*****.**'
        changelog = [version_1]
        date_str = u'13.06.2016'

        appinfo = AppInfo(self._appname, None, changelog)
        generator = DebChangelogGenerator(appinfo, maintainer,
                                          maintainer_email)

        result = generator.make(self._distrib, date_str)

        result_right = u'''outwiker (1.2.3+100~distribname) distribname; urgency=medium

  * Изменение 1

 -- Ivan Petrov <*****@*****.**>  13.06.2016'''

        self.assertEqual(result, result_right)
    def test_filter_09(self):
        from updatenotifier.updatecontroller import UpdateController

        pluginPath = self.loader[u'UpdateNotifier'].pluginPath
        controller = UpdateController(Application, pluginPath)

        latestVersion = Version(1, 1)
        latestVersionInfo = VersionInfo(latestVersion)

        currentVersionsDict = {u'test_01': u'1.0',
                               u'test_02': u'2.0',
                               }

        latestVersionsDict = {
            u'test_01': AppInfo(u'test',
                                None,
                                versionsList=[latestVersionInfo]),
        }

        result = controller.filterUpdatedApps(currentVersionsDict,
                                              latestVersionsDict)

        self.assertEqual(len(result), 1)
        self.assertEqual(result[u'test_01'].appname, u'test')
Example #12
0
 def test_changelog_empty(self):
     changelog = []
     appinfo = AppInfo(self._appname, self._author, changelog)
     generator = SiteChangelogGenerator(appinfo)
     changelog = generator.make()
     self.assertEqual(changelog, u'')