Re: [Openlp-core] [Merge] lp:~alisonken1/openlp/pjlink2-f into lp:openlp

2017-07-12 Thread Tomas Groth
Review: Needs Fixing

You left some commented code in, see the inline comment. Also please post the 
jenkins test result for the latest revision.
Otherwise it looks good to me.

Diff comments:

> 
> === modified file 'openlp/core/lib/projector/pjlink1.py'
> --- openlp/core/lib/projector/pjlink1.py  2017-06-17 00:25:06 +
> +++ openlp/core/lib/projector/pjlink1.py  2017-07-07 23:49:26 +
> @@ -331,7 +378,8 @@
>  self.change_status(E_SOCKET_TIMEOUT)
>  return
>  read = self.readLine(self.max_size)
> -dontcare = self.readLine(self.max_size)  # Clean out the 
> trailing \r\n
> +# _ = self.readLine(self.max_size)  # Clean out the trailing \r\n

This should be removed.

> +self.readLine(self.max_size)  # Clean out the trailing \r\n
>  if read is None:
>  log.warning('({ip}) read is None - socket 
> error?'.format(ip=self.ip))
>  return
> @@ -341,7 +389,8 @@
>  data = decode(read, 'utf-8')
>  # Possibility of extraneous data on input when reading.
>  # Clean out extraneous characters in buffer.
> -dontcare = self.readLine(self.max_size)
> +# _ = self.readLine(self.max_size)

Also this one.

> +self.readLine(self.max_size)
>  log.debug('({ip}) check_login() read 
> "{data}"'.format(ip=self.ip, data=data.strip()))
>  # At this point, we should only have the initial login prompt with
>  # possible authentication


-- 
https://code.launchpad.net/~alisonken1/openlp/pjlink2-f/+merge/327052
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


Re: [Openlp-core] [Merge] lp:~raoul-snyman/openlp/website-donations-debian into lp:openlp/website

2017-07-12 Thread Tomas Groth
Review: Needs Fixing

For the ArchLinux section I would leave out the part about pacaur and just link 
to the OpenLP AUR page: https://aur.archlinux.org/packages/openlp/, "Arch'ers" 
should know how to proceed from there. pacaur is just one of many AUR 
client/helpers: https://wiki.archlinux.org/index.php/AUR_helpers, so no need to 
promote that one especially.

To clear our backs a link to 
https://wiki.archlinux.org/index.php/Arch_User_Repository could be inserted. 

-- 
https://code.launchpad.net/~raoul-snyman/openlp/website-donations-debian/+merge/327055
Your team OpenLP Core is subscribed to branch lp:openlp/website.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


Re: [Openlp-core] [Merge] lp:~alisonken1/openlp/pjlink2-f into lp:openlp

2017-07-12 Thread Ken Roberts
oops - thought I removed those two lines.
I also remember running jenkins, but guess I forgot to delete the
previous run from the request.

On Wed, Jul 12, 2017 at 12:30 AM, Tomas Groth  wrote:
> Review: Needs Fixing
>
> You left some commented code in, see the inline comment. Also please post the 
> jenkins test result for the latest revision.
> Otherwise it looks good to me.
>
> Diff comments:
>
>>
>> === modified file 'openlp/core/lib/projector/pjlink1.py'
>> --- openlp/core/lib/projector/pjlink1.py  2017-06-17 00:25:06 +
>> +++ openlp/core/lib/projector/pjlink1.py  2017-07-07 23:49:26 +
>> @@ -331,7 +378,8 @@
>>  self.change_status(E_SOCKET_TIMEOUT)
>>  return
>>  read = self.readLine(self.max_size)
>> -dontcare = self.readLine(self.max_size)  # Clean out the 
>> trailing \r\n
>> +# _ = self.readLine(self.max_size)  # Clean out the trailing 
>> \r\n
>
> This should be removed.
>
>> +self.readLine(self.max_size)  # Clean out the trailing \r\n
>>  if read is None:
>>  log.warning('({ip}) read is None - socket 
>> error?'.format(ip=self.ip))
>>  return
>> @@ -341,7 +389,8 @@
>>  data = decode(read, 'utf-8')
>>  # Possibility of extraneous data on input when reading.
>>  # Clean out extraneous characters in buffer.
>> -dontcare = self.readLine(self.max_size)
>> +# _ = self.readLine(self.max_size)
>
> Also this one.
>
>> +self.readLine(self.max_size)
>>  log.debug('({ip}) check_login() read 
>> "{data}"'.format(ip=self.ip, data=data.strip()))
>>  # At this point, we should only have the initial login prompt with
>>  # possible authentication
>
>
> --
> https://code.launchpad.net/~alisonken1/openlp/pjlink2-f/+merge/327052
> You are the owner of lp:~alisonken1/openlp/pjlink2-f.



-- 
- Ken
Registered Linux user 296561
Slackin' since 1993
Slackware Linux (http://www.slackware.com)
OpenLP - Church Projection Software
Empower Your Church http://openlp.org

https://code.launchpad.net/~alisonken1/openlp/pjlink2-f/+merge/327052
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


[Openlp-core] [Merge] lp:~alisonken1/openlp/pjlink2-f into lp:openlp

2017-07-12 Thread Ken Roberts
The proposal to merge lp:~alisonken1/openlp/pjlink2-f into lp:openlp has been 
updated.

Status: Needs review => Superseded

For more details, see:
https://code.launchpad.net/~alisonken1/openlp/pjlink2-f/+merge/327052
-- 
Your team OpenLP Core is subscribed to branch lp:openlp.

___
Mailing list: https://launchpad.net/~openlp-core
Post to : openlp-core@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp


[Openlp-core] [Merge] lp:~alisonken1/openlp/pjlink2-f into lp:openlp

2017-07-12 Thread Ken Roberts
Ken Roberts has proposed merging lp:~alisonken1/openlp/pjlink2-f into lp:openlp.

Commit message:
PJLink class 2 update F

Requested reviews:
  Tim Bentley (trb143)
  Raoul Snyman (raoul-snyman)
  Tomas Groth (tomasgroth)

For more details, see:
https://code.launchpad.net/~alisonken1/openlp/pjlink2-f/+merge/327290

-- Added '# noqa' for flake8 to ignore specific line errors
-- Renamed test_projector_clssto clss_one
-- Added test_projector_clss_two
-- Updated  PJLink non-standard class check
-- Added process_snum
-- Added tests for process_snum
-- Renamed tests/functional/openlp_core_lib/test_projectordb.py to 
test_projector_db.py
-- Added filter model command-- Added lamp model command
-- Added lamp model command
-- Added tests for filter/model commands
-- Fix typo in projector status window
-- Cleanups from commit notes
-- Added invalid data buffer cleanups


lp:~alisonken1/openlp/pjlink2-f (revision 2756)
[SUCCESS] https://ci.openlp.io/job/Branch-01-Pull/2104/
[SUCCESS] https://ci.openlp.io/job/Branch-02-Functional-Tests/2014/
[SUCCESS] https://ci.openlp.io/job/Branch-03-Interface-Tests/1925/
[SUCCESS] https://ci.openlp.io/job/Branch-04a-Code_Analysis/1302/
[SUCCESS] https://ci.openlp.io/job/Branch-04b-Test_Coverage/1147/
[SUCCESS] https://ci.openlp.io/job/Branch-04c-Code_Analysis2/276/
[SUCCESS] https://ci.openlp.io/job/Branch-05-AppVeyor-Tests/121/

-- 
Your team OpenLP Core is subscribed to branch lp:openlp.
=== modified file 'openlp/core/lib/projector/db.py'
--- openlp/core/lib/projector/db.py	2017-06-01 22:35:57 +
+++ openlp/core/lib/projector/db.py	2017-07-12 13:16:20 +
@@ -303,7 +303,7 @@
 :param ip: Host IP/Name
 :returns: Projector() instance
 """
-log.debug('get_projector_by_ip(ip="%s")' % ip)
+log.debug('get_projector_by_ip(ip="{ip}")'.format(ip=ip))
 projector = self.get_object_filtered(Projector, Projector.ip == ip)
 if projector is None:
 # Not found

=== modified file 'openlp/core/lib/projector/pjlink1.py'
--- openlp/core/lib/projector/pjlink1.py	2017-06-17 00:25:06 +
+++ openlp/core/lib/projector/pjlink1.py	2017-07-12 13:16:20 +
@@ -44,6 +44,7 @@
 
 __all__ = ['PJLink']
 
+import re
 from codecs import decode
 
 from PyQt5 import QtCore, QtNetwork
@@ -53,7 +54,7 @@
 E_AUTHENTICATION, E_CONNECTION_REFUSED, E_GENERAL, E_INVALID_DATA, E_NETWORK, E_NOT_CONNECTED, \
 E_PARAMETER, E_PROJECTOR, E_SOCKET_TIMEOUT, E_UNAVAILABLE, E_UNDEFINED, PJLINK_ERRORS, \
 PJLINK_ERST_STATUS, PJLINK_MAX_PACKET, PJLINK_PORT, PJLINK_POWR_STATUS, PJLINK_VALID_CMD, \
-PJLINK_DEFAULT_CODES, STATUS_STRING, S_CONNECTED, S_CONNECTING, S_NETWORK_RECEIVED, S_NETWORK_SENDING, \
+STATUS_STRING, S_CONNECTED, S_CONNECTING, S_NETWORK_RECEIVED, S_NETWORK_SENDING, \
 S_NOT_CONNECTED, S_OFF, S_OK, S_ON, S_STATUS
 
 # Shortcuts
@@ -113,8 +114,13 @@
 self.port = port
 self.pin = pin
 super().__init__()
+self.model_lamp = None
+self.model_filter = None
 self.mac_adx = kwargs.get('mac_adx')
+self.serial_no = None
+self.serial_no_received = None  # Used only if saved serial number is different than received serial number
 self.dbid = None
+self.db_update = False  # Use to check if db needs to be updated prior to exiting
 self.location = None
 self.notes = None
 self.dbid = kwargs.get('dbid')
@@ -158,7 +164,9 @@
 'LAMP': self.process_lamp,
 'NAME': self.process_name,
 'PJLINK': self.check_login,
-'POWR': self.process_powr
+'POWR': self.process_powr,
+'SNUM': self.process_snum,
+'SVER': self.process_sver
 }
 
 def reset_information(self):
@@ -166,12 +174,16 @@
 Reset projector-specific information to default
 """
 log.debug('({ip}) reset_information() connect status is {state}'.format(ip=self.ip, state=self.state()))
+self.send_queue = []
 self.power = S_OFF
 self.pjlink_name = None
 self.manufacturer = None
 self.model = None
 self.serial_no = None
+self.serial_no_received = None
 self.sw_version = None
+self.sw_version_received = None
+self.mac_adx = None
 self.shutter = None
 self.mute = None
 self.lamp = None
@@ -188,7 +200,6 @@
 if hasattr(self, 'socket_timer'):
 log.debug('({ip}): Calling socket_timer.stop()'.format(ip=self.ip))
 self.socket_timer.stop()
-self.send_queue = []
 self.send_busy = False
 
 def thread_started(self):
@@ -240,6 +251,7 @@
 Normally called by timer().
 """
 if self.state() != self.ConnectedState:
+log.warn("({ip}) poll_loop(): Not connected - returning".format(ip=self.ip))
 return
 log.debug('({ip}) Updating projector status'.format(ip=sel