Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package opi for openSUSE:Factory checked in 
at 2022-08-10 17:14:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/opi (Old)
 and      /work/SRC/openSUSE:Factory/.opi.new.1521 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "opi"

Wed Aug 10 17:14:12 2022 rev:35 rq:994150 version:2.8.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/opi/opi.changes  2022-06-13 13:03:35.309204359 
+0200
+++ /work/SRC/openSUSE:Factory/.opi.new.1521/opi.changes        2022-08-10 
17:15:33.022060417 +0200
@@ -1,0 +2,9 @@
+Tue Aug  9 13:59:29 UTC 2022 - Dominik Heidler <[email protected]>
+
+- Version 2.8.0
+- add anydesk
+- add yandex browser
+- Use list for plugin queries and check for conflicts
+- Don't show projects with non-matching repo
+
+-------------------------------------------------------------------

Old:
----
  opi-2.7.0.tar.gz

New:
----
  opi-2.8.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ opi.spec ++++++
--- /var/tmp/diff_new_pack.t5gecN/_old  2022-08-10 17:15:33.634062015 +0200
+++ /var/tmp/diff_new_pack.t5gecN/_new  2022-08-10 17:15:33.638062025 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           opi
-Version:        2.7.0
+Version:        2.8.0
 Release:        0
 Summary:        OBS Package Installer (CLI)
 License:        GPL-3.0-only

++++++ opi-2.7.0.tar.gz -> opi-2.8.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/.gitignore new/opi-2.8.0/.gitignore
--- old/opi-2.7.0/.gitignore    2022-06-13 11:08:18.000000000 +0200
+++ new/opi-2.8.0/.gitignore    2022-08-09 15:59:20.000000000 +0200
@@ -58,3 +58,4 @@
 *.egg
 
 config.json
+.idea
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/README.md new/opi-2.8.0/README.md
--- old/opi-2.7.0/README.md     2022-06-13 11:08:18.000000000 +0200
+++ new/opi-2.8.0/README.md     2022-08-09 15:59:20.000000000 +0200
@@ -102,6 +102,7 @@
                         print the search results in reverse
 
 Also these queries can be used to install packages from various other vendors:
+  anydesk           AnyDesk remote access
   atom              Atom Text Editor
   brave             Brave web browser
   chrome            Google Chrome web browser
@@ -120,5 +121,6 @@
   vscode            Microsoft Visual Studio Code
   vscodium          Visual Studio Codium
   yandex-disk       Yandex.Disk cloud storage client
+  yandex-browser    Yandex web browser
   zoom              Zoom Video Conference
 ```
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/bin/opi new/opi-2.8.0/bin/opi
--- old/opi-2.7.0/bin/opi       2022-06-13 11:08:18.000000000 +0200
+++ new/opi-2.8.0/bin/opi       2022-08-09 15:59:20.000000000 +0200
@@ -71,9 +71,9 @@
        if len(binaries) == 0:
                print("No package found.")
                sys.exit()
-       binary_names = opi.get_binary_names(binaries)
 
        # Print and select a package name option
+       binary_names = opi.get_binary_names(binaries)
        selected_name = opi.ask_for_option(binary_names)
        print("You have selected package name: %s" % selected_name)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/opi/__init__.py 
new/opi-2.8.0/opi/__init__.py
--- old/opi-2.7.0/opi/__init__.py       2022-06-13 11:08:18.000000000 +0200
+++ new/opi-2.8.0/opi/__init__.py       2022-08-09 15:59:20.000000000 +0200
@@ -241,6 +241,18 @@
                        if binary_data['arch'] not in (get_cpu_arch(), 
'noarch'):
                                continue
 
+                       # Filter repo architecture
+                       if binary_data['repository'] == 'openSUSE_Factory' and 
(get_cpu_arch() not in ('x86_64' 'i586')):
+                               continue
+                       elif binary_data['repository'] == 
'openSUSE_Factory_ARM' and not get_cpu_arch().startswith('arm') and not 
get_cpu_arch() == 'aarch64':
+                               continue
+                       elif binary_data['repository'] == 
'openSUSE_Factory_PowerPC' and not get_cpu_arch().startswith('ppc'):
+                               continue
+                       elif binary_data['repository'] == 
'openSUSE_Factory_zSystems' and not get_cpu_arch().startswith('s390'):
+                               continue
+                       elif binary_data['repository'] == 
'openSUSE_Factory_RISCV' and not get_cpu_arch().startswith('risc'):
+                               continue
+
                        binaries.append(binary_data)
 
                return binaries
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/opi/plugins/__init__.py 
new/opi-2.8.0/opi/plugins/__init__.py
--- old/opi-2.7.0/opi/plugins/__init__.py       2022-06-13 11:08:18.000000000 
+0200
+++ new/opi-2.8.0/opi/plugins/__init__.py       2022-08-09 15:59:20.000000000 
+0200
@@ -6,7 +6,7 @@
 class BasePlugin(object):
        main_query = ''
        description = ''
-       queries = ()
+       queries = []
 
        @classmethod
        def matches(cls, query):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/opi/plugins/anydesk.py 
new/opi-2.8.0/opi/plugins/anydesk.py
--- old/opi-2.7.0/opi/plugins/anydesk.py        1970-01-01 01:00:00.000000000 
+0100
+++ new/opi-2.8.0/opi/plugins/anydesk.py        2022-08-09 15:59:20.000000000 
+0200
@@ -0,0 +1,23 @@
+import opi
+from opi.plugins import BasePlugin
+import subprocess
+
+class AnyDesk(BasePlugin):
+    main_query = "anydesk"
+    description = "AnyDesk remote access"
+    queries = ['anydesk']
+
+    @classmethod
+    def run(cls, query):
+        if not opi.ask_yes_or_no("Do you want to install AnyDesk from AnyDesk 
repository?", 'y'):
+            return
+
+        opi.add_repo(
+            filename = 'anydesk',
+            name = 'anydesk',
+            url = 'http://rpm.anydesk.com/opensuse/$basearch/',
+            gpgkey = 'https://keys.anydesk.com/repos/RPM-GPG-KEY'
+        )
+
+        opi.install_packages(['anydesk'])
+        opi.ask_keep_repo('anydesk')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/opi/plugins/atom.py 
new/opi-2.8.0/opi/plugins/atom.py
--- old/opi-2.7.0/opi/plugins/atom.py   2022-06-13 11:08:18.000000000 +0200
+++ new/opi-2.8.0/opi/plugins/atom.py   2022-08-09 15:59:20.000000000 +0200
@@ -5,7 +5,7 @@
 class Atom(BasePlugin):
        main_query = "atom"
        description = "Atom Text Editor"
-       queries = ('atom', 'atom-editor')
+       queries = ['atom', 'atom-editor']
 
        @classmethod
        def run(cls, query):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/opi/plugins/brave.py 
new/opi-2.8.0/opi/plugins/brave.py
--- old/opi-2.7.0/opi/plugins/brave.py  2022-06-13 11:08:18.000000000 +0200
+++ new/opi-2.8.0/opi/plugins/brave.py  2022-08-09 15:59:20.000000000 +0200
@@ -5,7 +5,7 @@
 class BraveBrowser(BasePlugin):
        main_query = "brave"
        description = "Brave web browser"
-       queries = ('brave', 'brave-browser')
+       queries = ['brave', 'brave-browser']
 
        @classmethod
        def run(cls, query):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/opi/plugins/chrome.py 
new/opi-2.8.0/opi/plugins/chrome.py
--- old/opi-2.7.0/opi/plugins/chrome.py 2022-06-13 11:08:18.000000000 +0200
+++ new/opi-2.8.0/opi/plugins/chrome.py 2022-08-09 15:59:20.000000000 +0200
@@ -5,7 +5,7 @@
 class GoogleChrome(BasePlugin):
        main_query = "chrome"
        description = "Google Chrome web browser"
-       queries = ('chrome', 'google-chrome')
+       queries = ['chrome', 'google-chrome']
 
        @classmethod
        def run(cls, query):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/opi/plugins/dotnet.py 
new/opi-2.8.0/opi/plugins/dotnet.py
--- old/opi-2.7.0/opi/plugins/dotnet.py 2022-06-13 11:08:18.000000000 +0200
+++ new/opi-2.8.0/opi/plugins/dotnet.py 2022-08-09 15:59:20.000000000 +0200
@@ -5,7 +5,7 @@
 class MSDotnet(BasePlugin):
        main_query = "dotnet"
        description = "Microsoft .NET"
-       queries = ('dotnet-sdk', 'dotnet')
+       queries = ['dotnet-sdk', 'dotnet']
 
        @classmethod
        def run(cls, query):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/opi/plugins/megasync.py 
new/opi-2.8.0/opi/plugins/megasync.py
--- old/opi-2.7.0/opi/plugins/megasync.py       2022-06-13 11:08:18.000000000 
+0200
+++ new/opi-2.8.0/opi/plugins/megasync.py       2022-08-09 15:59:20.000000000 
+0200
@@ -6,7 +6,7 @@
 class MEGAsync(BasePlugin):
        main_query = "megasync"
        description = "Mega Desktop App"
-       queries = ('megasync', 'megasyncapp')
+       queries = ['megasync', 'megasyncapp']
 
        @classmethod
        def run(cls, query):
@@ -36,4 +36,4 @@
 
                opi.install_packages(packages)
 
-               opi.ask_keep_repo('megasync')
\ No newline at end of file
+               opi.ask_keep_repo('megasync')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/opi/plugins/ms_edge.py 
new/opi-2.8.0/opi/plugins/ms_edge.py
--- old/opi-2.7.0/opi/plugins/ms_edge.py        2022-06-13 11:08:18.000000000 
+0200
+++ new/opi-2.8.0/opi/plugins/ms_edge.py        2022-08-09 15:59:20.000000000 
+0200
@@ -7,7 +7,7 @@
 class MSEdge(BasePlugin):
        main_query = "msedge"
        description = "Microsoft Edge"
-       queries = ('microsoft-edge', 'msedge', 'edge')
+       queries = ['microsoft-edge', 'msedge', 'edge']
 
        @classmethod
        def run(cls, query):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/opi/plugins/ms_teams.py 
new/opi-2.8.0/opi/plugins/ms_teams.py
--- old/opi-2.7.0/opi/plugins/ms_teams.py       2022-06-13 11:08:18.000000000 
+0200
+++ new/opi-2.8.0/opi/plugins/ms_teams.py       2022-08-09 15:59:20.000000000 
+0200
@@ -5,7 +5,7 @@
 class MSTeams(BasePlugin):
        main_query = "msteams"
        description = "Microsoft Teams"
-       queries = ('microsoftteams', 'msteams', 'teams')
+       queries = ['microsoftteams', 'msteams', 'teams']
 
        @classmethod
        def run(cls, query):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/opi/plugins/packman.py 
new/opi-2.8.0/opi/plugins/packman.py
--- old/opi-2.7.0/opi/plugins/packman.py        2022-06-13 11:08:18.000000000 
+0200
+++ new/opi-2.8.0/opi/plugins/packman.py        2022-08-09 15:59:20.000000000 
+0200
@@ -4,7 +4,7 @@
 class PackmanCodecsPlugin(BasePlugin):
        main_query = "codecs"
        description = "Media Codecs from Packman and official repo"
-       queries = ('packman', 'codecs')
+       queries = ['packman', 'codecs']
 
        @classmethod
        def run(cls, query):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/opi/plugins/plex.py 
new/opi-2.8.0/opi/plugins/plex.py
--- old/opi-2.7.0/opi/plugins/plex.py   2022-06-13 11:08:18.000000000 +0200
+++ new/opi-2.8.0/opi/plugins/plex.py   2022-08-09 15:59:20.000000000 +0200
@@ -5,7 +5,7 @@
 class PlexMediaServer(BasePlugin):
        main_query = "plex"
        description = "Plex Media Server"
-       queries = ('plex', 'plexmediaserver')
+       queries = ['plex', 'plexmediaserver']
 
        @classmethod
        def run(cls, query):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/opi/plugins/skype.py 
new/opi-2.8.0/opi/plugins/skype.py
--- old/opi-2.7.0/opi/plugins/skype.py  2022-06-13 11:08:18.000000000 +0200
+++ new/opi-2.8.0/opi/plugins/skype.py  2022-08-09 15:59:20.000000000 +0200
@@ -2,10 +2,10 @@
 from opi.plugins import BasePlugin
 import subprocess
 
-class VSCode(BasePlugin):
+class Skype(BasePlugin):
        main_query = "skype"
        description = "Microsoft Skype"
-       queries = ('skype')
+       queries = ['skype']
 
        @classmethod
        def run(cls, query):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/opi/plugins/slack.py 
new/opi-2.8.0/opi/plugins/slack.py
--- old/opi-2.7.0/opi/plugins/slack.py  2022-06-13 11:08:18.000000000 +0200
+++ new/opi-2.8.0/opi/plugins/slack.py  2022-08-09 15:59:20.000000000 +0200
@@ -5,7 +5,7 @@
 class Slack(BasePlugin):
        main_query = "slack"
        description = "Slack messenger"
-       queries = ('slack')
+       queries = ['slack']
 
        @classmethod
        def run(cls, query):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/opi/plugins/sublime.py 
new/opi-2.8.0/opi/plugins/sublime.py
--- old/opi-2.7.0/opi/plugins/sublime.py        2022-06-13 11:08:18.000000000 
+0200
+++ new/opi-2.8.0/opi/plugins/sublime.py        2022-08-09 15:59:20.000000000 
+0200
@@ -5,7 +5,7 @@
 class SublimeText(BasePlugin):
        main_query = "sublime"
        description = "Editor for code, markup and prose"
-       queries = ('sublime', 'sublime-text', 'sublimetext')
+       queries = ['sublime', 'sublime-text', 'sublimetext']
 
        @classmethod
        def run(cls, query):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/opi/plugins/teamviewer.py 
new/opi-2.8.0/opi/plugins/teamviewer.py
--- old/opi-2.7.0/opi/plugins/teamviewer.py     2022-06-13 11:08:18.000000000 
+0200
+++ new/opi-2.8.0/opi/plugins/teamviewer.py     2022-08-09 15:59:20.000000000 
+0200
@@ -6,7 +6,7 @@
 class Teamviewer(BasePlugin):
        main_query = "teamviewer"
        description = "TeamViewer remote access"
-       queries = ('teamviewer')
+       queries = ['teamviewer']
 
        @classmethod
        def run(cls, query):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/opi/plugins/vivaldi.py 
new/opi-2.8.0/opi/plugins/vivaldi.py
--- old/opi-2.7.0/opi/plugins/vivaldi.py        2022-06-13 11:08:18.000000000 
+0200
+++ new/opi-2.8.0/opi/plugins/vivaldi.py        2022-08-09 15:59:20.000000000 
+0200
@@ -5,7 +5,7 @@
 class Vivaldi(BasePlugin):
        main_query = "vivaldi"
        description = "Vivaldi web browser"
-       queries = ('vivaldi')
+       queries = ['vivaldi']
 
        @classmethod
        def run(cls, query):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/opi/plugins/vs_code.py 
new/opi-2.8.0/opi/plugins/vs_code.py
--- old/opi-2.7.0/opi/plugins/vs_code.py        2022-06-13 11:08:18.000000000 
+0200
+++ new/opi-2.8.0/opi/plugins/vs_code.py        2022-08-09 15:59:20.000000000 
+0200
@@ -5,7 +5,7 @@
 class VSCode(BasePlugin):
        main_query = "vscode"
        description = "Microsoft Visual Studio Code"
-       queries = ('visualstudiocode', 'vscode', 'vsc')
+       queries = ['visualstudiocode', 'vscode', 'vsc']
 
        @classmethod
        def run(cls, query):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/opi/plugins/vs_codium.py 
new/opi-2.8.0/opi/plugins/vs_codium.py
--- old/opi-2.7.0/opi/plugins/vs_codium.py      2022-06-13 11:08:18.000000000 
+0200
+++ new/opi-2.8.0/opi/plugins/vs_codium.py      2022-08-09 15:59:20.000000000 
+0200
@@ -5,7 +5,7 @@
 class VSCodium(BasePlugin):
        main_query = "vscodium"
        description = "Visual Studio Codium"
-       queries = ('visualstudiocodium', 'vscodium', 'codium')
+       queries = ['visualstudiocodium', 'vscodium', 'codium']
 
        @classmethod
        def run(cls, query):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/opi/plugins/yandex-browser.py 
new/opi-2.8.0/opi/plugins/yandex-browser.py
--- old/opi-2.7.0/opi/plugins/yandex-browser.py 1970-01-01 01:00:00.000000000 
+0100
+++ new/opi-2.8.0/opi/plugins/yandex-browser.py 2022-08-09 15:59:20.000000000 
+0200
@@ -0,0 +1,32 @@
+import opi
+from opi.plugins import BasePlugin
+
+class YandexBrowser(BasePlugin):
+       main_query = "yandex-browser"
+       description = "Yandex web browser"
+       queries = ['yandex-browser-stable', 'yandex-browser-beta', 
'yandex-browser']
+
+       @classmethod
+       def run(cls, query):
+               if not opi.ask_yes_or_no("Do you want to install yandex-browser 
from yandex-browser repository?", 'y'):
+                       return
+
+               print("Which version do you want to install?")
+               option = opi.ask_for_option(options=[
+                       'yandex-browser-stable',
+                       'yandex-browser-beta',
+               ])
+
+               release = option.split('-')[2]
+               print("You have chosen %s", release)
+
+               opi.add_repo(
+                       filename = option,
+                       name = option,
+                       url = 
f'https://repo.yandex.ru/yandex-browser/rpm/{release}/$basearch/',
+                       gpgkey = 
'https://repo.yandex.ru/yandex-browser/YANDEX-BROWSER-KEY.GPG',
+                       gpgcheck = False
+               )
+
+               opi.install_packages([option])
+               opi.ask_keep_repo(option)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/opi/plugins/yandex-disk.py 
new/opi-2.8.0/opi/plugins/yandex-disk.py
--- old/opi-2.7.0/opi/plugins/yandex-disk.py    2022-06-13 11:08:18.000000000 
+0200
+++ new/opi-2.8.0/opi/plugins/yandex-disk.py    2022-08-09 15:59:20.000000000 
+0200
@@ -5,7 +5,7 @@
 class YandexDisk(BasePlugin):
        main_query = "yandex-disk"
        description = "Yandex.Disk cloud storage client"
-       queries = ('yandex-disk')
+       queries = ['yandex-disk']
 
        @classmethod
        def run(cls, query):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/opi/plugins/zoom.py 
new/opi-2.8.0/opi/plugins/zoom.py
--- old/opi-2.7.0/opi/plugins/zoom.py   2022-06-13 11:08:18.000000000 +0200
+++ new/opi-2.8.0/opi/plugins/zoom.py   2022-08-09 15:59:20.000000000 +0200
@@ -5,7 +5,7 @@
 class Zoom(BasePlugin):
        main_query = "zoom"
        description = "Zoom Video Conference"
-       queries = ('zoom')
+       queries = ['zoom']
 
        @classmethod
        def run(cls, query):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/opi/version.py new/opi-2.8.0/opi/version.py
--- old/opi-2.7.0/opi/version.py        2022-06-13 11:08:18.000000000 +0200
+++ new/opi-2.8.0/opi/version.py        2022-08-09 15:59:20.000000000 +0200
@@ -1 +1 @@
-__version__ = '2.7.0'
+__version__ = '2.8.0'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/opi.changes new/opi-2.8.0/opi.changes
--- old/opi-2.7.0/opi.changes   2022-06-13 11:08:18.000000000 +0200
+++ new/opi-2.8.0/opi.changes   2022-08-09 15:59:20.000000000 +0200
@@ -1,4 +1,13 @@
 -------------------------------------------------------------------
+Tue Aug  9 13:58:57 UTC 2022 - Dominik Heidler <[email protected]>
+
+- Version 2.8.0
+- add anydesk
+- add yandex browser
+- Use list for plugin queries and check for conflicts
+- Don't show projects with non-matching repo
+
+-------------------------------------------------------------------
 Mon Jun 13 09:08:05 UTC 2022 - Dominik Heidler <[email protected]>
 
 - Version 2.7.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opi-2.7.0/test/04_check_plugins.py 
new/opi-2.8.0/test/04_check_plugins.py
--- old/opi-2.7.0/test/04_check_plugins.py      2022-06-13 11:08:18.000000000 
+0200
+++ new/opi-2.8.0/test/04_check_plugins.py      2022-08-09 15:59:20.000000000 
+0200
@@ -12,4 +12,10 @@
        print('Checking plugin: %s' % plugin)
        assert plugin.main_query != ""
        assert plugin.description != ""
+       assert isinstance(plugin.queries, list)
        assert plugin.main_query in plugin.queries, "Plugin main query must be 
in queries list"
+       for other_plugin in pm.plugins:
+               if plugin == other_plugin:
+                       continue
+               common_queries = set(plugin.queries) & set(other_plugin.queries)
+               assert not common_queries, f"Conflict in queries between 
{plugin} and {other_plugin}: Both have {common_queries}"

Reply via email to