Hello community,

here is the log from the commit of package python-limnoria for openSUSE:Factory 
checked in at 2018-10-23 20:40:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-limnoria (Old)
 and      /work/SRC/openSUSE:Factory/.python-limnoria.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-limnoria"

Tue Oct 23 20:40:20 2018 rev:6 rq:643768 version:2018.09.10

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-limnoria/python-limnoria.changes  
2018-09-03 10:34:24.048560809 +0200
+++ /work/SRC/openSUSE:Factory/.python-limnoria.new/python-limnoria.changes     
2018-10-23 20:41:40.664452026 +0200
@@ -1,0 +2,6 @@
+Mon Oct 22 14:05:21 UTC 2018 - [email protected]
+
+- Update to version 2018-09-10:
+  * Fix Python 3.7 support.
+
+-------------------------------------------------------------------

Old:
----
  master-2018-06-25-2.tar.gz

New:
----
  master-2018-09-10.tar.gz

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

Other differences:
------------------
++++++ python-limnoria.spec ++++++
--- /var/tmp/diff_new_pack.yPFRIn/_old  2018-10-23 20:41:41.260451315 +0200
+++ /var/tmp/diff_new_pack.yPFRIn/_new  2018-10-23 20:41:41.264451310 +0200
@@ -18,9 +18,9 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %define appname limnoria
-%define srcver 2018-06-25-2
+%define srcver 2018-09-10
 Name:           python-limnoria
-Version:        2018.06.25.2
+Version:        2018.09.10
 Release:        0
 Summary:        A modified version of Supybot (an IRC bot and framework)
 License:        BSD-3-Clause

++++++ master-2018-06-25-2.tar.gz -> master-2018-09-10.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Limnoria-master-2018-06-25-2/.travis.yml 
new/Limnoria-master-2018-09-10/.travis.yml
--- old/Limnoria-master-2018-06-25-2/.travis.yml        2018-06-25 
23:04:45.000000000 +0200
+++ new/Limnoria-master-2018-09-10/.travis.yml  2018-09-10 00:57:04.000000000 
+0200
@@ -8,7 +8,7 @@
   - "3.4"
   - "3.5"
   - "3.6"
-  - "nightly"
+  - "3.7-dev"
   - "pypy"
   - "pypy-5.3.1" # default pypy3 doesn't work, see 
https://bitbucket.org/pypy/pypy/issues/2129/local-variable-val-referenced-before
 env:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Limnoria-master-2018-06-25-2/README.md 
new/Limnoria-master-2018-09-10/README.md
--- old/Limnoria-master-2018-06-25-2/README.md  2018-06-25 23:04:45.000000000 
+0200
+++ new/Limnoria-master-2018-09-10/README.md    2018-09-10 00:57:04.000000000 
+0200
@@ -5,8 +5,7 @@
 for controlling access to commands, as well as more than 50 builtin plugins
 providing around 400 actual commands.
 
-Limnoria is a project which continues development of Supybot (you can
-call it a fork) by fixing bugs and adding features.
+Limnoria is the project which continues development of Supybot since 2010.
 
 # Build status
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Limnoria-master-2018-06-25-2/plugins/Channel/locales/fr.po 
new/Limnoria-master-2018-09-10/plugins/Channel/locales/fr.po
--- old/Limnoria-master-2018-06-25-2/plugins/Channel/locales/fr.po      
2018-06-25 23:04:45.000000000 +0200
+++ new/Limnoria-master-2018-09-10/plugins/Channel/locales/fr.po        
2018-09-10 00:57:04.000000000 +0200
@@ -337,7 +337,7 @@
 "        itself.\n"
 "        "
 msgstr ""
-"[<canal>] [--{exact,nick,user,host}] [<secondes>] [<raison>]\n"
+"[<canal>] [--{exact,nick,user,host}] <nick> [<secondes>] [<raison>]\n"
 "\n"
 "Si vous avez la capacité #canal,op, ceci kickbannira <nick> pendant le "
 "nombre de <secondes> que vous avez spécifiées, ou, si vous n'avez rien "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Limnoria-master-2018-06-25-2/plugins/Later/plugin.py 
new/Limnoria-master-2018-09-10/plugins/Later/plugin.py
--- old/Limnoria-master-2018-06-25-2/plugins/Later/plugin.py    2018-06-25 
23:04:45.000000000 +0200
+++ new/Limnoria-master-2018-09-10/plugins/Later/plugin.py      2018-09-10 
00:57:04.000000000 +0200
@@ -30,6 +30,7 @@
 
 import csv
 import time
+import codecs
 import datetime
 
 import supybot.log as log
@@ -71,7 +72,7 @@
 
     def _openNotes(self):
         try:
-            fd = open(self.filename)
+            fd = codecs.open(self.filename, encoding='utf8')
         except EnvironmentError as e:
             self.log.warning('Couldn\'t open %s: %s', self.filename, e)
             return
@@ -101,29 +102,11 @@
                 notes.append((at, whence, text))
         except KeyError:
             self._notes[nick] = [(at, whence, text)]
-        if '?' in nick or '*' in nick and nick not in self.wildcards:
-            self.wildcards.append(nick)
+        if set('?*!@') & set(nick):
+            if nick not in self.wildcards:
+                self.wildcards.append(nick)
         self._flushNotes()
 
-    def _validateNick(self, irc, nick):
-        """Validate nick according to the IRC RFC 2812 spec.
-
-        Reference: http://tools.ietf.org/rfcmarkup?doc=2812#section-2.3.1
-
-        Some irc clients' tab-completion feature appends 'address' characters
-        to nick, such as ':' or ','. We try correcting for that by trimming
-        a char off the end.
-
-        If nick incorrigibly invalid, return False, otherwise,
-        return (possibly trimmed) nick.
-        """
-        if not irc.isNick(nick):
-            if not irc.isNick(nick[:-1]):
-                return False
-            else:
-                return nick[:-1]
-        return nick
-
     def _deleteExpired(self):
         expiry = self.registryValue('messageExpiry')
         curtime = time.time()
@@ -163,12 +146,7 @@
             if ircutils.strEqual(nick, irc.nick):
                 irc.error(_('I can\'t send notes to myself.'))
                 return
-            validnick = self._validateNick(irc, nick)
-            if validnick is False:
-                irc.error(_('%s is an invalid IRC nick. Please check your '
-                    'input.' % nick))
-                return
-            validnicks.append(validnick)
+            validnicks.append(nick)
         full_queues = []
         for validnick in validnicks:
             try:
@@ -181,7 +159,7 @@
                 full_queues))
         else:
             irc.replySuccess()
-    tell = wrap(tell, [commalist('somethingWithoutSpaces'), 'text'])
+    tell = wrap(tell, [commalist(first('nick', 'hostmask')), 'text'])
 
     @internationalizeDocstring
     def notes(self, irc, msg, args, nick):
@@ -249,7 +227,7 @@
         # Let's try wildcards.
         removals = []
         for wildcard in self.wildcards:
-            if ircutils.hostmaskPatternEqual(wildcard, msg.nick):
+            if ircutils.hostmaskPatternEqual(wildcard, msg.prefix):
                 removals.append(wildcard)
                 notes.extend(self._notes.pop(wildcard))
             for removal in removals:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Limnoria-master-2018-06-25-2/plugins/Later/test.py 
new/Limnoria-master-2018-09-10/plugins/Later/test.py
--- old/Limnoria-master-2018-06-25-2/plugins/Later/test.py      2018-06-25 
23:04:45.000000000 +0200
+++ new/Limnoria-master-2018-09-10/plugins/Later/test.py        2018-09-10 
00:57:04.000000000 +0200
@@ -57,10 +57,37 @@
         conf.supybot.protocols.irc.strictRfc.setValue('True')
         self.assertError('later tell 1foo bar')
         self.assertError('later tell foo$moo zoob')
-        self.assertNotError('later tell foo: baz')
-        self.assertRegexp('later notes', 'foo\.')
         conf.supybot.protocols.irc.strictRfc.setValue(origconf)
 
+    def testWildcard(self):
+        self.assertNotError('later tell foo* stuff')
+        self.assertNotError('later tell bar,baz more stuff')
+        self.assertRegexp('later notes', 'bar.*foo')
+        testPrefix = 'foo!bar@baz'
+        self.irc.feedMsg(ircmsgs.privmsg(self.channel, 'something',
+                                         prefix=testPrefix))
+        m = self.getMsg(' ')
+        self.assertEqual(str(m).strip(),
+                'PRIVMSG #test :foo: Sent just now: <test> stuff')
+
+    def testHostmask(self):
+        self.assertNotError('later tell foo*!*@baz stuff')
+        self.assertNotError('later tell bar,baz more stuff')
+        self.assertRegexp('later notes', 'bar.*foo')
+
+        testPrefix = 'foo!bar@baz2'
+        self.irc.feedMsg(ircmsgs.privmsg(self.channel, 'something',
+                                         prefix=testPrefix))
+        m = self.getMsg(' ')
+        self.assertEqual(m, None)
+
+        testPrefix = 'foo!bar@baz'
+        self.irc.feedMsg(ircmsgs.privmsg(self.channel, 'something',
+                                         prefix=testPrefix))
+        m = self.getMsg(' ')
+        self.assertEqual(str(m).strip(),
+                'PRIVMSG #test :foo: Sent just now: <test> stuff')
+
     def testNoteExpiry(self):
         cb = self.irc.getCallback('Later')
         # add a note 40 days in the past
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Limnoria-master-2018-06-25-2/plugins/Web/config.py 
new/Limnoria-master-2018-09-10/plugins/Web/config.py
--- old/Limnoria-master-2018-06-25-2/plugins/Web/config.py      2018-06-25 
23:04:45.000000000 +0200
+++ new/Limnoria-master-2018-09-10/plugins/Web/config.py        2018-09-10 
00:57:04.000000000 +0200
@@ -63,7 +63,7 @@
     by the snarfer will be the original one (posted on IRC) or the target one
     (got after following redirects, if any).""")))
 conf.registerChannelValue(Web, 'snarferPrefix',
-    registry.String(_('Title: '), _("""Determines the string used at before
+    registry.String(_('Title:'), _("""Determines the string used at before
     a web page's title.""")))
 conf.registerChannelValue(Web, 'nonSnarfingRegexp',
     registry.Regexp(None, _("""Determines what URLs matching the given regexp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Limnoria-master-2018-06-25-2/plugins/Web/plugin.py 
new/Limnoria-master-2018-09-10/plugins/Web/plugin.py
--- old/Limnoria-master-2018-06-25-2/plugins/Web/plugin.py      2018-06-25 
23:04:45.000000000 +0200
+++ new/Limnoria-master-2018-09-10/plugins/Web/plugin.py        2018-09-10 
00:57:04.000000000 +0200
@@ -200,7 +200,7 @@
                         if self.registryValue('snarferShowTargetDomain', 
channel)
                         else url)
                 prefix = self.registryValue('snarferPrefix', channel)
-                s = prefix + title
+                s = "%s %s" % (prefix, title)
                 if self.registryValue('snarferShowDomain', channel):
                     s += format(_(' (at %s)'), domain)
                 irc.reply(s, prefixNick=False)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Limnoria-master-2018-06-25-2/plugins/__init__.py 
new/Limnoria-master-2018-09-10/plugins/__init__.py
--- old/Limnoria-master-2018-06-25-2/plugins/__init__.py        2018-06-25 
23:04:45.000000000 +0200
+++ new/Limnoria-master-2018-09-10/plugins/__init__.py  2018-09-10 
00:57:04.000000000 +0200
@@ -196,7 +196,6 @@
         for channel, ids in self.channels.items():
             for id_, value in ids.items():
                 yield (channel, id_)
-        raise StopIteration()
 
     def __len__(self):
         return sum([len(x) for x in self.channels])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Limnoria-master-2018-06-25-2/setup.py 
new/Limnoria-master-2018-09-10/setup.py
--- old/Limnoria-master-2018-06-25-2/setup.py   2018-06-25 23:04:45.000000000 
+0200
+++ new/Limnoria-master-2018-09-10/setup.py     2018-09-10 00:57:04.000000000 
+0200
@@ -66,7 +66,7 @@
     if os.path.isfile(VERSION_FILE):
         from src.version import version
     else:
-        version = 'installed on ' + strftime("%Y-%m-%dT%H-%M-%S", gmtime())
+        version = 'installed on ' + time.strftime("%Y-%m-%dT%H-%M-%S", 
time.gmtime())
 try:
     os.unlink(VERSION_FILE)
 except OSError: # Does not exist
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Limnoria-master-2018-06-25-2/src/drivers/Socket.py 
new/Limnoria-master-2018-09-10/src/drivers/Socket.py
--- old/Limnoria-master-2018-06-25-2/src/drivers/Socket.py      2018-06-25 
23:04:45.000000000 +0200
+++ new/Limnoria-master-2018-09-10/src/drivers/Socket.py        2018-09-10 
00:57:04.000000000 +0200
@@ -39,9 +39,10 @@
 import errno
 import select
 import socket
+import sys
 
 try:
-    import ipaddress
+    import ipaddress  # Python >= 3.3 or backported ipaddress
 except ImportError:
     # Python < 3.3
     ipaddress = None
@@ -284,9 +285,14 @@
             self.conn.connect((address, port))
             if network_config.ssl():
                 self.starttls()
+
             # Suppress this warning for loopback IPs.
+            targetip = address
+            if sys.version_info[0] < 3:
+                # Backported Python 2 ipaddress demands unicode instead of str
+                targetip = targetip.decode('utf-8')
             elif (not network_config.requireStarttls()) and \
-                    (ipaddress is None or not 
ipaddress.ip_address(address).is_loopback):
+                    (ipaddress is None or not 
ipaddress.ip_address(targetip).is_loopback):
                 drivers.log.warning(('Connection to network %s '
                     'does not use SSL/TLS, which makes it vulnerable to '
                     'man-in-the-middle attacks and passive eavesdropping. '


Reply via email to