Changes in / [279640c:7f1098c]


Ignore:
Location:
server
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • server/lib/TODO

    rf0807b8 r1b6dc13  
    1616
    1717- add support in printer.py for:
    18      [ ] print job
    19      [ ] validate job
     18     [x] print job
     19     [x] validate job
    2020     [x] pause printer
    2121     [x] resume printer
     
    3030     [x] resume job
    3131
    32 - finish test cases for printer.py
    33 - write test cases for requests.py
    34 - write convenience client-side API
    35 - write test cases for future client API
    36 - all the documentation
    37 - deal with all the code marked 'XXX'
    38 - setuptools entry points for notification system (e.g. zephyr)
    39 - check test case coverage ( http://nedbatchelder.com/code/coverage/ )
    40 - deal with queue management/reordering
    41 - add support for volume management
    42 - make sure all CUPS commands are compatible
    43 - rewrite gbr/gbq/etc. scripts to use client API
    44 - rewrite server-side queue display to use API
    45 - support authentication/security
    46 - why doesn't the bug tracker work?! relatedly, figure out a
    47   solution that makes it easier for non-MIT developers to contribute
     32- server stuff
     33     [ ] write convenience client-side API
     34     [ ] setuptools entry points for notification system (e.g. zephyr)
     35     [ ] deal with queue management/reordering
     36     [ ] add support for volume management
     37     [ ] support authentication/security
     38
     39- client-ish stuff
     40     [ ] rewrite gbr/gbq/etc. scripts to use client API
     41     [ ] rewrite server-side queue display to use API
     42
     43- misc
     44     [ ] make sure all CUPS commands are compatible
     45     [ ] deal with all the code marked 'XXX'
     46
     47- documentation and testing
     48     [ ] finish test cases for printer.py
     49     [ ] write test cases for requests.py
     50     [ ] write test cases for future client API
     51     [ ] all the documentation
     52     [ ] check test case coverage ( http://nedbatchelder.com/code/coverage/ )
     53     [ ] why doesn't the bug tracker work?! relatedly, figure out a
     54         solution that makes it easier for non-MIT developers to contribute
    4855
    4956Ponies
  • server/lib/gutenbach-config

    ra9eb577e rab7c1dd  
    11port: 8000
    22loglevel: debug
    3 logfile: gutenbach.log
     3#logfile: gutenbach.log
    44
    55printers:
  • server/lib/gutenbach/server/job.py

    r57bc2dc rbd5bffc  
    5656    def __del__(self):
    5757        if self.player:
    58             self.player.mplayer_stop()
     58            if self.player.is_playing:
     59                self.player.mplayer_stop()
     60            if self.player.fh:
     61                if self.player.fh.closed:
     62                    self.player.fh.close()
    5963            self.player = None
    60         if self.document and not self.document.closed:
    61             self.document.close()
    62             self.document = None
    63 
     64
     65        self.document = None
    6466        self.id = None
    6567        self.creator = None
  • server/lib/gutenbach/server/player.py

    rcf0d7e8 rbd5bffc  
    2828    def is_playing(self):
    2929        if self._dryrun:
    30             return self.isAlive() and not self.is_done
     30            return self.ident is not None and \
     31                   self.isAlive() and \
     32                   not self.is_done
    3133        else:
    32             return self.isAlive() and \
    33                       not self.is_done and \
    34                       self.player is not None and \
    35                       self.player.poll() is None
    36 
     34            return self.ident is not None and \
     35                   self.isAlive() and \
     36                   not self.is_done and \
     37                   self.player is not None and \
     38                   self.player.poll() is None
     39       
    3740    @property
    3841    @sync
     
    121124                logger.warning("trying to pause non-playing job")
    122125        time.sleep(self._lag)
    123                
     126
    124127    def mplayer_stop(self):
    125         # Note: Inner Lock due to join.
     128        # Note: Inner lock due to join.
    126129        with self.lock:
    127130            if self.is_playing:
     
    134137                logger.warning("trying to stop non-playing job")
    135138        self.join()
     139
  • server/test/server/job.py

    radf8cf0 rbd5bffc  
    66import sys
    77import time
     8import logging
    89
    910def make_tempfile():
     
    204205
    205206if __name__ == "__main__":
     207    logging.basicConfig(loglevel=logging.CRITICAL)
    206208    unittest.main()
Note: See TracChangeset for help on using the changeset viewer.