Skip to content
This repository has been archived by the owner on Dec 18, 2019. It is now read-only.

Fujitsu SnapScan resolution not detected correctly #230

Closed
beat opened this issue Aug 16, 2013 · 26 comments
Closed

Fujitsu SnapScan resolution not detected correctly #230

beat opened this issue Aug 16, 2013 · 26 comments

Comments

@beat
Copy link

beat commented Aug 16, 2013

getting following errors and no resolution displayed for the SnapScan scaner:

paperwork 

** (paperwork:2568): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-BEKIFYOiIi: Connection refused
INFO   paperwork.paperwork            Looking for locales in 'locale/fr/LC_MESSAGES/paperwork.mo' ...
INFO   paperwork.paperwork            Looking for locales in '/usr/local/share/locale/fr/LC_MESSAGES/paperwork.mo' ...
INFO   paperwork.paperwork            Looking for locales in '/usr/share/locale/fr/LC_MESSAGES/paperwork.mo' ...
INFO   root                           Will use locales from '/usr/share/locale'
INFO   paperwork.backend.config       Config file found: /home/beat/.config/paperwork.conf
INFO   root                           UI file used: /usr/share/paperwork/mainwindow.glade

(paperwork:2568): Gtk-WARNING **: Could not load image 'paperwork.svg': Failed to open file '/usr/share/paperwork/paperwork.svg': No such file or directory
INFO   paperwork.frontend.mainwindow  Image view port resized. (0, 0) --> (579, 705)
INFO   paperwork.frontend.jobs        [Scheduler Progress] Starting
INFO   paperwork.frontend.jobs        [Scheduler Main] Starting
INFO   paperwork.frontend.jobs        [Scheduler Progress] Started
INFO   paperwork.frontend.actions     Action: [Refresh index]
INFO   paperwork.frontend.jobs        [Scheduler Main] Started
INFO   paperwork.backend.docsearch    Opening index dir '/home/beat/.local/share/paperwork/index' ...
INFO   paperwork.frontend.mainwindow  Document examen finished. Updating index ...
INFO   paperwork.frontend.mainwindow  New document: 0
INFO   paperwork.frontend.mainwindow  Updated document: 0
INFO   paperwork.frontend.mainwindow  Deleted document: 0
INFO   paperwork.frontend.mainwindow  No changes
INFO   paperwork.frontend.mainwindow  List 'documents' : 1 elements displayed (1 additionnal)
INFO   paperwork.frontend.actions     Action: [Scan a single page]
INFO   paperwork.frontend.actions     Action: [Open settings dialog]
INFO   root                           UI file used: /usr/share/paperwork/settingswindow.glade
ERROR  paperwork.frontend.settingswindow Warning: Long name not found for language 'equ'.
WARNING paperwork.frontend.settingswindow   Will use short name as long name.
ERROR  paperwork.frontend.settingswindow Warning: Long name not found for language 'osd'.
WARNING paperwork.frontend.settingswindow   Will use short name as long name.

(paperwork:2568): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed
/usr/lib/python2.7/dist-packages/gi/types.py:113: Warning: g_object_set_property: assertion `G_IS_VALUE (value)' failed
  return info.invoke(*args, **kwargs)
/usr/lib/python2.7/dist-packages/gi/types.py:113: Warning: g_value_unset: assertion `G_IS_VALUE (value)' failed
  return info.invoke(*args, **kwargs)

(paperwork:2568): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2568): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2568): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed
INFO   paperwork.frontend.jobs        [Scheduler progress] Starting
INFO   paperwork.frontend.jobs        [Scheduler progress] Started
INFO   paperwork.frontend.settingswindow Looking for scan devices ...

(paperwork:2568): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2568): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2568): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2568): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2568): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2568): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed
INFO   paperwork.frontend.settingswindow Device found: [FUJITSU ScanSnap S1500] -> [fujitsu:ScanSnap S1500:9226]
INFO   paperwork.frontend.settingswindow Device found: [Epson RX420] -> [epson2:libusb:001:047]
WARNING paperwork.frontend.jobs        Job DeviceFinder:0 took 2629ms and is unstoppable ! (maximum allowed: 500ms)
INFO   paperwork.frontend.settingswindow Got value [['FUJITSU ScanSnap S1500', 'fujitsu:ScanSnap S1500:9226']]
INFO   paperwork.frontend.settingswindow Got value [['Epson RX420', 'epson2:libusb:001:047']]
INFO   paperwork.frontend.settingswindow Select scanner: 0
/usr/lib/python2.7/dist-packages/gi/types.py:113: Warning: unable to set property `xpad' of type `guint' from value of type `gchararray'
  return info.invoke(*args, **kwargs)
INFO   paperwork.frontend.settingswindow Looking for resolution of device [fujitsu:ScanSnap S1500:9226]
ERROR  paperwork.frontend.jobs        ===> Job ResolutionFinder:0 raised an exception: <type 'exceptions.TypeError'>: not all arguments converted during string formatting
ERROR  paperwork.frontend.jobs         0: /usr/local/lib/python2.7/dist-packages/paperwork/frontend/jobs.py: L  158: _run
ERROR  paperwork.frontend.jobs         1: /usr/local/lib/python2.7/dist-packages/paperwork/frontend/settingswindow.py: L  163: do
ERROR  paperwork.frontend.jobs        ---> Job ResolutionFinder:0 was started by:
ERROR  paperwork.frontend.jobs         0: /usr/local/bin/paperwork: L    6: <module>
ERROR  paperwork.frontend.jobs         1: /usr/local/lib/python2.7/dist-packages/paperwork/paperwork.py: L   98: main
ERROR  paperwork.frontend.jobs         2: /usr/lib/python2.7/dist-packages/gi/types.py: L  113: function
ERROR  paperwork.frontend.jobs         3: /usr/local/lib/python2.7/dist-packages/paperwork/frontend/settingswindow.py: L  662: on_finding_end_cb
ERROR  paperwork.frontend.jobs         4: /usr/lib/python2.7/dist-packages/gi/types.py: L  113: function
ERROR  paperwork.frontend.jobs         5: /usr/local/lib/python2.7/dist-packages/paperwork/frontend/actions.py: L   74: on_combobox_changed_cb
ERROR  paperwork.frontend.jobs         6: /usr/local/lib/python2.7/dist-packages/paperwork/frontend/actions.py: L   53: __do
ERROR  paperwork.frontend.jobs         7: /usr/local/lib/python2.7/dist-packages/paperwork/frontend/settingswindow.py: L  366: do
ERROR  paperwork.frontend.jobs         8: /usr/local/lib/python2.7/dist-packages/paperwork/frontend/jobs.py: L  227: schedule
INFO   paperwork.backend.config       Writing /home/beat/.config/paperwork.conf ... 
INFO   paperwork.backend.config       Done
INFO   paperwork.frontend.settingswindow Settings window destroyed
INFO   paperwork.frontend.jobs        [Scheduler progress] Stopping
INFO   paperwork.frontend.jobs        [Scheduler progress] Stopped
INFO   paperwork.frontend.actions     Action: [Scan multiples pages]
INFO   root                           UI file used: /usr/share/paperwork/multiscan.glade
INFO   paperwork.frontend.actions     Action: [Add doc to the multi-scan list]
INFO   paperwork.frontend.actions     Action: [Doc selected in multi-scan list]
INFO   paperwork.frontend.actions     Action: [Start multi-scan]
INFO   paperwork.backend.config       Scanner mode set to 'Color'
INFO   paperwork.util                 Setting scanner option 'source' to 'ADF Front'
INFO   paperwork.backend.img.page     Scanner resolution: 300
INFO   paperwork.backend.img.page     Scanner calibration: None
INFO   paperwork.backend.img.page     Scan rotated of 0 degree
INFO   paperwork.backend.img.page     Scan rotated of -90 degree
INFO   paperwork.backend.img.page     Scan rotated of -180 degree
INFO   paperwork.backend.img.page     Scan rotated of -270 degree
INFO   paperwork.backend.img.page     Using Tesseract for OCR
INFO   paperwork.backend.img.page     Running OCR on page orientation 0
INFO   paperwork.backend.img.page     Running OCR on page orientation 1
INFO   paperwork.backend.img.page     Evaluating score of page orientation (0) using method 'spell_checker' ...
INFO   paperwork.backend.img.page     Evaluating score of page orientation (1) using method 'spell_checker' ...
INFO   paperwork.backend.img.page     Page orientation 0 score: 0
INFO   paperwork.backend.img.page     Page orientation 1 score: 0
INFO   paperwork.backend.img.page     Running OCR on page orientation 2
INFO   paperwork.backend.img.page     Running OCR on page orientation 3
INFO   paperwork.backend.img.page     Evaluating score of page orientation (3) using method 'spell_checker' ...
INFO   paperwork.backend.img.page     Evaluating score of page orientation (2) using method 'spell_checker' ...
INFO   paperwork.backend.img.page     Page orientation 3 score: 0
INFO   paperwork.backend.img.page     Page orientation 2 score: 0
INFO   paperwork.backend.img.page     Best: 0.000000
INFO   paperwork.backend.img.page     Extracting boxes ...
INFO   paperwork.backend.img.page     Done
INFO   paperwork.backend.img.page     Scan done
INFO   paperwork.backend.docsearch    Updating modified doc: 20130816_1755_40
WARNING paperwork.backend.img.page     WARNING: Doc 20130816_1755_40 uses old box format
INFO   paperwork.backend.docsearch    Index: Commiting changes
INFO   paperwork.backend.docsearch    Adding document '20130816_1755_40' to the index
INFO   paperwork.frontend.mainwindow  List 'pages' : 1 elements displayed (1 additionnal)
INFO   root                           Showing page 20130816_1755_40 p1
INFO   paperwork.frontend.actions     Action: [Open selected document]
INFO   paperwork.frontend.mainwindow  No document selected. Can't open
INFO   paperwork.frontend.mainwindow  List 'documents' : 2 elements displayed (2 additionnal)
INFO   paperwork.frontend.mainwindow  Zoom: 0.175455
WARNING paperwork.backend.img.page     WARNING: Doc 20130816_1755_40 uses old box format
INFO   paperwork.frontend.multiscan   Multi-scan dialog destroyed
INFO   paperwork.frontend.actions     Action: [Doc selected in multi-scan list]
WARNING paperwork.frontend.multiscan   No doc selected
@jflesch
Copy link
Member

jflesch commented Aug 16, 2013

Hm, the driver of your scanner probably returns the resolutions in a weird way. It's not the first time I've seen this kind of problem.

I need you to do the following:

$ git clone https://github.com/jflesch/pyinsane
$ cd pyinsane
# turn your scanner on
$ ./list_all.py

It will list all the options provided by your scanner (including the resolution) and all their constraints. Can you give me the output of this script please ?

@beat
Copy link
Author

beat commented Aug 16, 2013

Hi @jflesch,

Sure:
Here is the huge result for that great scanner "ScanSnap S1500M" (it's just a great one: double-sided single-pass scan at 20 ppm, has a button on it, would be great to be able to use it to start a scan like in its Fujitsu-software on a mac): When scaning a double-sided page Paperwork only scaned the front-page too, guess it's due to the missing settings parsing).

$ ./list_all.py
Scanner 'fujitsu:ScanSnap S1500:9226' (FUJITSU, ScanSnap S1500, scanner)
  Option: ipc-mode
    Title: IPC mode
    Desc: Image processing mode, enables additional options
    Type: <class 'src.rawapi.SaneValueType'> : String (3)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 8
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Default', 'SDTC']
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: ald
    Title: Auto length detection
    Desc: Scanner detects paper lower edge. May confuse some frontends.
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: threshold
    Title: Threshold
    Desc: Select minimum-brightness to get a white point
    Type: <class 'src.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 255, 1)
    Value: 0
  Option: ink-low
    Title: Ink low
    Desc: Imprinter ink running low
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: density
    Title: Density
    Desc: Density dial
    Type: <class 'src.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: duplex
    Title: Duplex switch
    Desc: Duplex switch
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: page-loaded
    Title: Page loaded
    Desc: Page loaded
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Hard_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: source
    Title: Scan source
    Desc: Selects the scan source (such as a document-feeder).
    Type: <class 'src.rawapi.SaneValueType'> : String (3)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 11
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['ADF Front', 'ADF Back', 'ADF Duplex']
    Value: ADF Front
  Option: endorser-font
    Title: Endorser font
    Desc: Endorser printing font.
    Type: <class 'src.rawapi.SaneValueType'> : String (3)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 18
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Horizontal', 'Horizontal bold', 'Horizontal narrow', 'Vertical', 'Vertical bold']
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: swdeskew
    Title: Software deskew
    Desc: Request driver to rotate skewed pages digitally.
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: page-height
    Title: Page height
    Desc: Specifies the height of the media.
    Type: <class 'src.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'src.rawapi.SaneUnit'> : Mm (3)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 57455088, 1387)
    Value: 18308400
  Option: paper-protect
    Title: Paper protection
    Desc: Request scanner to predict jams in the ADF
    Type: <class 'src.rawapi.SaneValueType'> : String (3)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 8
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Default', 'Off', 'On']
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: threshold-white
    Title: Threshold white
    Desc: Set pixels equal to threshold to white instead of black
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: br-y
    Title: Bottom-right y
    Desc: Bottom-right y position of scan area.
    Type: <class 'src.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'src.rawapi.SaneUnit'> : Mm (3)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 18308400, 1387)
    Value: 18308400
  Option: br-x
    Title: Bottom-right x
    Desc: Bottom-right x position of scan area.
    Type: <class 'src.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'src.rawapi.SaneUnit'> : Mm (3)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 14147400, 1387)
    Value: 14147400
  Option: error-code
    Title: Error code
    Desc: Hardware error code
    Type: <class 'src.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Hard_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: ht-type
    Title: Halftone type
    Desc: Control type of halftone filter
    Type: <class 'src.rawapi.SaneValueType'> : String (3)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 10
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Default', 'Dither', 'Diffusion']
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: blueoffset
    Title: Blue offset
    Desc: Adjust blue/red offset
    Type: <class 'src.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (-16, 16, 1)
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: endorser
    Title: Endorser
    Desc: Enable endorser unit
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: brightness
    Title: Brightness
    Desc: Controls the brightness of the acquired image.
    Type: <class 'src.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (-127, 127, 1)
    Value: 0
  Option: overscan
    Title: Overscan
    Desc: Collect a few mm of background on top side of scan, before paper enters ADF, and increase maximum scan area beyond paper size, to allow collection on remaining sides. May conflict with bgcolor option
    Type: <class 'src.rawapi.SaneValueType'> : String (3)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 8
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Default', 'Off', 'On']
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: mode
    Title: Scan mode
    Desc: Selects the scan mode (e.g., lineart, monochrome, or color).
    Type: <class 'src.rawapi.SaneValueType'> : String (3)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 9
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Lineart', 'Halftone', 'Gray', 'Color']
    Value: Lineart
  Option: side
    Title: Duplex side
    Desc: Tells which side (0=front, 1=back) of a duplex scan the next call to sane_read will return.
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: df-skew
    Title: DF skew
    Desc: Enable double feed error due to skew
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: threshold-curve
    Title: Threshold curve
    Desc: Threshold curve, from light to dark, but upper two may not be linear
    Type: <class 'src.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 7, 1)
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: top-edge
    Title: Top edge
    Desc: Paper is pulled partly into adf
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Hard_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: page-width
    Title: Page width
    Desc: Specifies the width of the media.  Required for automatic centering of sheet-fed scans.
    Type: <class 'src.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'src.rawapi.SaneUnit'> : Mm (3)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 14491376, 1387)
    Value: 14147400
  Option: endorser-options
    Title: Endorser Options
    Desc: Controls for endorser unit
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: swcrop
    Title: Software crop
    Desc: Request driver to remove border from pages digitally.
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: hwdeskewcrop
    Title: Hardware deskew and crop
    Desc: Request scanner to rotate and crop pages digitally.
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: skew-angle
    Title: Skew angle
    Desc: Requires black background for scanning
    Type: <class 'src.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Hard_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: email
    Title: Email button
    Desc: Email button
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Hard_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: contrast
    Title: Contrast
    Desc: Controls the contrast of the acquired image.
    Type: <class 'src.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (-127, 127, 1)
    Value: 0
  Option: omr-df
    Title: OMR or DF
    Desc: OMR or double feed detected
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Hard_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: endorser-bits
    Title: Endorser bits
    Desc: Determines maximum endorser counter value.
    Type: <class 'src.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (16, 24, 8)
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: matrix-5x5
    Title: Matrix 5x5
    Desc: Remove 5 pixel square noise
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: matrix-4x4
    Title: Matrix 4x4
    Desc: Remove 4 pixel square noise
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: separation
    Title: Separation
    Desc: Enable automatic separation of image and text
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: greenoffset
    Title: Green offset
    Desc: Adjust green/red offset
    Type: <class 'src.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (-16, 16, 1)
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: power-save
    Title: Power saving
    Desc: Scanner in power saving mode
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Hard_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: b5-paper
    Title: B5 paper
    Desc: B5 paper detected
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Hard_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: staple-detect
    Title: Staple detection
    Desc: Request scanner to detect jams in the ADF caused by staples
    Type: <class 'src.rawapi.SaneValueType'> : String (3)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 8
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Default', 'Off', 'On']
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: a3-paper
    Title: A3 paper
    Desc: A3 paper detected
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Hard_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: gamma
    Title: Gamma function exponent
    Desc: Changes intensity of midtones
    Type: <class 'src.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (19660, 327680, 655)
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: prepick
    Title: Prepick
    Desc: Request scanner to grab next page from ADF
    Type: <class 'src.rawapi.SaneValueType'> : String (3)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 8
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Default', 'Off', 'On']
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: manual-feed
    Title: Manual feed
    Desc: Manual feed selected
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Hard_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: tl-y
    Title: Top-left y
    Desc: Top-left y position of scan area.
    Type: <class 'src.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'src.rawapi.SaneUnit'> : Mm (3)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 18308400, 1387)
    Value: 0
  Option: tl-x
    Title: Top-left x
    Desc: Top-left x position of scan area.
    Type: <class 'src.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'src.rawapi.SaneUnit'> : Mm (3)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 14147400, 1387)
    Value: 0
  Option: bp-filter
    Title: BP filter
    Desc: Improves quality of high resolution ball-point pen text
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: mirroring
    Title: Mirroring
    Desc: Reflect output image horizontally
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: endorser-y
    Title: Endorser Y
    Desc: Endorser print offset from top of paper.
    Type: <class 'src.rawapi.SaneValueType'> : Fixed (2)
    Unit: <class 'src.rawapi.SaneUnit'> : Mm (3)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 18308400, 1387)
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: endorser-side
    Title: Endorser side
    Desc: Endorser printing side, requires hardware support to change
    Type: <class 'src.rawapi.SaneValueType'> : String (3)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 6
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Front', 'Back']
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: swdespeck
    Title: Software despeckle diameter
    Desc: Maximum diameter of lone dots to remove from scan.
    Type: <class 'src.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 9, 1)
    Value: 0
  Option: df-diff
    Title: DF length difference
    Desc: Difference in page length to trigger double feed error
    Type: <class 'src.rawapi.SaneValueType'> : String (3)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 8
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Default', '10mm', '15mm', '20mm']
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: double-feed
    Title: Double feed
    Desc: Double feed detected
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Hard_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: cover-open
    Title: Cover open
    Desc: Cover open
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Hard_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: compression
    Title: Compression
    Desc: Enable compressed data. May crash your front-end program
    Type: <class 'src.rawapi.SaneValueType'> : String (3)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 5
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['None']
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: a4-paper
    Title: A4 paper
    Desc: A4 paper detected
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Hard_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: buffermode
    Title: Buffer mode
    Desc: Request scanner to read pages quickly from ADF into internal memory
    Type: <class 'src.rawapi.SaneValueType'> : String (3)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 8
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Default', 'Off', 'On']
    Value: Default
  Option: smoothing
    Title: Smoothing
    Desc: Enable smoothing for improved OCR
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: bgcolor
    Title: Background color
    Desc: Set color of background for scans. May conflict with overscan option
    Type: <class 'src.rawapi.SaneValueType'> : String (3)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 8
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Default', 'White', 'Black']
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: df-thickness
    Title: DF thickness
    Desc: Enable double feed error due to paper thickness
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: function
    Title: Function
    Desc: Function character on screen
    Type: <class 'src.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Hard_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: compression-arg
    Title: Compression argument
    Desc: Level of JPEG compression. 1 is small file, 7 is large file. 0 (default) is same as 4
    Type: <class 'src.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 0, 1)
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: endorser-val
    Title: Endorser value
    Desc: Initial endorser counter value.
    Type: <class 'src.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 65535, 1)
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: wl-follow
    Title: White level follower
    Desc: Control white level follower
    Type: <class 'src.rawapi.SaneValueType'> : String (3)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 8
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Default', 'On', 'Off']
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: sleeptimer
    Title: Sleep timer
    Desc: Time in minutes until the internal power supply switches to sleep mode
    Type: <class 'src.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 60, 1)
    Value: 0
  Option: df-recovery
    Title: DF recovery mode
    Desc: Request scanner to reverse feed on paper jam
    Type: <class 'src.rawapi.SaneValueType'> : String (3)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 8
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Default', 'Off', 'On']
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: endorser-string
    Title: Endorser string
    Desc: Endorser alphanumeric print format. %05ud or %08ud at the end will be replaced by counter value.
    Type: <class 'src.rawapi.SaneValueType'> : String (3)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 1
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: gamma-curve
    Title: Gamma curve
    Desc: Gamma curve, from light to dark, but upper two may not work
    Type: <class 'src.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 3, 1)
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: duplexoffset
    Title: Duplex offset
    Desc: Adjust front/back offset
    Type: <class 'src.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (-16, 16, 1)
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: scan
    Title: Scan button
    Desc: Scan button
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Hard_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: endorser-dir
    Title: Endorser direction
    Desc: Endorser printing direction.
    Type: <class 'src.rawapi.SaneValueType'> : String (3)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 14
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Top to bottom', 'Bottom to top']
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: rif
    Title: RIF
    Desc: Reverse image format
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: df-length
    Title: DF length
    Desc: Enable double feed error due to paper length
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: b4-paper
    Title: B4 paper
    Desc: B4 paper detected
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Hard_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: emphasis
    Title: Emphasis
    Desc: Negative to smooth or positive to sharpen image
    Type: <class 'src.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (-128, 127, 1)
    Value: 0
  Option: df-action
    Title: DF action
    Desc: Action following double feed error
    Type: <class 'src.rawapi.SaneValueType'> : String (3)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 9
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Default', 'Continue', 'Stop']
    Value: Default
  Option: endorser-step
    Title: Endorser step
    Desc: Change endorser counter value by this much for each page.
    Type: <class 'src.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (-2, 2, 1)
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: lowmemory
    Title: Low Memory
    Desc: Limit driver memory usage for use in embedded systems. Causes some duplex transfers to alternate sides on each call to sane_read. Value of option 'side' can be used to determine correct image. This option should only be used with custom front-end software.
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: 0
  Option: variance
    Title: Variance
    Desc: Set SDTC variance rate (sensitivity), 0=127
    Type: <class 'src.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 255, 1)
    Value: 0
  Option: noise-removal
    Title: Noise removal
    Desc: Noise removal
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: awd
    Title: Auto width detection
    Desc: Scanner detects paper sides. May reduce scanning speed.
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: dropoutcolor
    Title: Dropout color
    Desc: One-pass scanners use only one color during gray or binary scanning, useful for colored paper or ink
    Type: <class 'src.rawapi.SaneValueType'> : String (3)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 8
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect, Advanced,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : String list (3)
    Constraint: ['Default', 'Red', 'Green', 'Blue']
    Value: Default
  Option: outline
    Title: Outline
    Desc: Perform outline extraction
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: ht-pattern
    Title: Halftone pattern
    Desc: Control pattern of halftone filter
    Type: <class 'src.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive, Soft_select, Soft_detect,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (0, 3, 1)
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: ink-remain
    Title: Ink remaining
    Desc: Imprinter ink level
    Type: <class 'src.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: matrix-3x3
    Title: Matrix 3x3
    Desc: Remove 3 pixel square noise
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)
  Option: resolution
    Title: Scan resolution
    Desc: Sets the resolution of the scanned image.
    Type: <class 'src.rawapi.SaneValueType'> : Integer (1)
    Unit: <class 'src.rawapi.SaneUnit'> : Dpi (4)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Soft_select, Soft_detect,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : Range (1)
    Constraint: (50, 600, 1)
    Value: 600
  Option: matrix-2x2
    Title: Matrix 2x2
    Desc: Remove 2 pixel square noise
    Type: <class 'src.rawapi.SaneValueType'> : Boolean (0)
    Unit: <class 'src.rawapi.SaneUnit'> : None (0)
    Size: 4
    Capabilities: <class 'src.rawapi.SaneCapabilities'> :[ Inactive,]
    Constraint type: <class 'src.rawapi.SaneConstraintType'> : None (0)
    Constraint: None
    Value: Failed to get the value: <class 'src.rawapi.SaneStatus'> : Data is invalid (4)

@jflesch
Copy link
Member

jflesch commented Aug 17, 2013

Woops, it was actually a regression. Darn.
Fixed by 5df66cd on the branch 'unstable'.

@jflesch jflesch closed this as completed Aug 17, 2013
@beat
Copy link
Author

beat commented Aug 17, 2013

No worries, Merci! :-)

@jflesch
Copy link
Member

jflesch commented Aug 18, 2013

Can you confirm that the fix is working please ? I'm thinking of releasing a version 0.1.1 with this fix, but I have no scanner returning the accepted resolutions like yours.

@beat
Copy link
Author

beat commented Aug 18, 2013

I'm trying where that file is located in the current installation to apply the fix on it:
5df66cd
or an alternate method to that described here but to install to / upgrade to the unstable branch:
https://github.com/jflesch/paperwork (I did a Manual system-wide installation since Ubuntu 13.04 doesn't include Paperwork yet).
Any hints/directions on how to test the fix?

@jflesch
Copy link
Member

jflesch commented Aug 18, 2013

For now, I would advise that you try the branch 'unstable'. Unfortunately the installation process has already evolved quite a bit between the 0.1 (stable) and the 0.2 (unstable). You will have to re-read the README.

If TL;DR:

$ sudo apt-get install zlib1g-dev libjpeg-dev libblas-dev libatlas-dev liblapack-dev gfortran g++
$ sudo pip install numpy scikit-learn
$ git clone https://github.com/jflesch/paperwork.git
$ cd paperwork
$ git checkout unstable
$ sudo python ./setup.py install

@jflesch
Copy link
Member

jflesch commented Aug 18, 2013

By the way, if you decide to backport the patch, I must tell you that the target file has been moved between 0.1 (stable) and 0.2 (unstable):

  • 0.1 : src/paperwork/frontend/settingswindow.py
  • 0.2 : src/paperwork/frontend/settingswindow/init.py

@beat
Copy link
Author

beat commented Aug 18, 2013

Tried applying to the version i have the changes, but now have 2 behaviors:

When only snapscan is connected, hitting Scan button i have: "Error while scanning: " (nothing more) in a pop-up.

And in console:

$ paperwork 

** (paperwork:22743): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-BEKIFYOiIi: Connection refused
INFO   paperwork.paperwork            Looking for locales in 'locale/fr/LC_MESSAGES/paperwork.mo' ...
INFO   paperwork.paperwork            Looking for locales in '/usr/local/share/locale/fr/LC_MESSAGES/paperwork.mo' ...
INFO   paperwork.paperwork            Looking for locales in '/usr/share/locale/fr/LC_MESSAGES/paperwork.mo' ...
INFO   root                           Will use locales from '/usr/share/locale'
INFO   paperwork.backend.config       Config file found: /home/beat/.config/paperwork.conf
INFO   root                           UI file used: /usr/share/paperwork/mainwindow.glade

(paperwork:22743): Gtk-WARNING **: Could not load image 'paperwork.svg': Failed to open file '/usr/share/paperwork/paperwork.svg': No such file or directory
INFO   paperwork.frontend.mainwindow  Image view port resized. (0, 0) --> (579, 705)
INFO   paperwork.frontend.jobs        [Scheduler Progress] Starting
INFO   paperwork.frontend.jobs        [Scheduler Main] Starting
INFO   paperwork.frontend.jobs        [Scheduler Progress] Started
INFO   paperwork.frontend.actions     Action: [Refresh index]
INFO   paperwork.frontend.jobs        [Scheduler Main] Started
INFO   paperwork.backend.docsearch    Opening index dir '/home/beat/.local/share/paperwork/index' ...
INFO   paperwork.frontend.mainwindow  Document examen finished. Updating index ...
INFO   paperwork.frontend.mainwindow  New document: 0
INFO   paperwork.frontend.mainwindow  Updated document: 0
INFO   paperwork.frontend.mainwindow  Deleted document: 0
INFO   paperwork.frontend.mainwindow  No changes
INFO   paperwork.frontend.mainwindow  List 'documents' : 2 elements displayed (2 additionnal)
INFO   paperwork.frontend.actions     Action: [Scan a single page]
INFO   paperwork.backend.config       Scanner mode set to 'Color'
INFO   paperwork.util                 Setting scanner option 'source' to 'ADF Front'
ERROR  paperwork.frontend.jobs        ===> Job SingleScan:0 raised an exception: <type 'exceptions.StopIteration'>: 
ERROR  paperwork.frontend.jobs         0: /usr/local/lib/python2.7/dist-packages/paperwork/frontend/jobs.py: L  158: _run
ERROR  paperwork.frontend.jobs         1: /usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py: L 1202: do
ERROR  paperwork.frontend.jobs         2: /usr/local/lib/python2.7/dist-packages/pyinsane/abstract_th.py: L  188: scan
ERROR  paperwork.frontend.jobs         3: /usr/local/lib/python2.7/dist-packages/pyinsane/abstract_th.py: L  137: __init__
ERROR  paperwork.frontend.jobs         4: /usr/local/lib/python2.7/dist-packages/pyinsane/abstract_th.py: L   53: wait
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
ERROR  paperwork.frontend.jobs        ---> Job SingleScan:0 was started by:
ERROR  paperwork.frontend.jobs         0: /usr/local/bin/paperwork: L    6: <module>
ERROR  paperwork.frontend.jobs         1: /usr/local/lib/python2.7/dist-packages/paperwork/paperwork.py: L   98: main
ERROR  paperwork.frontend.jobs         2: /usr/lib/python2.7/dist-packages/gi/types.py: L  113: function
ERROR  paperwork.frontend.jobs         3: /usr/local/lib/python2.7/dist-packages/paperwork/frontend/actions.py: L   56: on_button_clicked_cb
ERROR  paperwork.frontend.jobs         4: /usr/local/lib/python2.7/dist-packages/paperwork/frontend/actions.py: L   53: __do
ERROR  paperwork.frontend.jobs         5: /usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py: L 1815: do
ERROR  paperwork.frontend.jobs         6: /usr/local/lib/python2.7/dist-packages/paperwork/frontend/jobs.py: L  227: schedule
WARNING paperwork.frontend.jobs        Job SingleScan:0 took 2642ms and is unstoppable ! (maximum allowed: 500ms)
INFO   paperwork.frontend.mainwindow  List 'pages' : 0 elements displayed (0 additionnal)
INFO   paperwork.frontend.mainwindow  Doc list refresh: 0:20130818_2317_15 deleted
INFO   paperwork.frontend.actions     Action: [Open selected document]
INFO   paperwork.frontend.mainwindow  No document selected. Can't open
INFO   paperwork.frontend.mainwindow  Search: 
INFO   paperwork.frontend.mainwindow  Doc list refresh: 'new doc' reinserted in the list
INFO   paperwork.frontend.actions     Action: [Quit]
INFO   paperwork.frontend.actions     Action: [Quit (real)]
INFO   paperwork.frontend.jobs        [Scheduler Progress] Stopping
INFO   paperwork.frontend.jobs        [Scheduler Progress] Stopped
INFO   paperwork.frontend.jobs        [Scheduler Main] Stopping
INFO   paperwork.frontend.jobs        [Scheduler Main] Stopped
INFO   paperwork.backend.config       Writing /home/beat/.config/paperwork.conf ... 
INFO   paperwork.backend.config       Done
INFO   paperwork.frontend.actions     Action: [Open selected document]
INFO   paperwork.frontend.mainwindow  No document selected. Can't open
INFO   paperwork.frontend.actions     Action: [Label selected]
INFO   paperwork.paperwork            Good bye
beat@beat17:~$ paperwork 

** (paperwork:22754): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-BEKIFYOiIi: Connection refused
INFO   paperwork.paperwork            Looking for locales in 'locale/fr/LC_MESSAGES/paperwork.mo' ...
INFO   paperwork.paperwork            Looking for locales in '/usr/local/share/locale/fr/LC_MESSAGES/paperwork.mo' ...
INFO   paperwork.paperwork            Looking for locales in '/usr/share/locale/fr/LC_MESSAGES/paperwork.mo' ...
INFO   root                           Will use locales from '/usr/share/locale'
INFO   paperwork.backend.config       Config file found: /home/beat/.config/paperwork.conf
INFO   root                           UI file used: /usr/share/paperwork/mainwindow.glade

(paperwork:22754): Gtk-WARNING **: Could not load image 'paperwork.svg': Failed to open file '/usr/share/paperwork/paperwork.svg': No such file or directory
INFO   paperwork.frontend.mainwindow  Image view port resized. (0, 0) --> (579, 705)
INFO   paperwork.frontend.jobs        [Scheduler Progress] Starting
INFO   paperwork.frontend.jobs        [Scheduler Main] Starting
INFO   paperwork.frontend.jobs        [Scheduler Progress] Started
INFO   paperwork.frontend.actions     Action: [Refresh index]
INFO   paperwork.frontend.jobs        [Scheduler Main] Started
INFO   paperwork.backend.docsearch    Opening index dir '/home/beat/.local/share/paperwork/index' ...
INFO   paperwork.frontend.mainwindow  Document examen finished. Updating index ...
INFO   paperwork.frontend.mainwindow  New document: 0
INFO   paperwork.frontend.mainwindow  Updated document: 0
INFO   paperwork.frontend.mainwindow  Deleted document: 0
INFO   paperwork.frontend.mainwindow  No changes
INFO   paperwork.frontend.mainwindow  List 'documents' : 2 elements displayed (2 additionnal)
INFO   paperwork.frontend.actions     Action: [Scan a single page]
INFO   paperwork.backend.config       Scanner mode set to 'Color'
INFO   paperwork.util                 Setting scanner option 'source' to 'ADF Front'
ERROR  paperwork.frontend.jobs        ===> Job SingleScan:0 raised an exception: <type 'exceptions.StopIteration'>: 
ERROR  paperwork.frontend.jobs         0: /usr/local/lib/python2.7/dist-packages/paperwork/frontend/jobs.py: L  158: _run
ERROR  paperwork.frontend.jobs         1: /usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py: L 1202: do
ERROR  paperwork.frontend.jobs         2: /usr/local/lib/python2.7/dist-packages/pyinsane/abstract_th.py: L  188: scan
ERROR  paperwork.frontend.jobs         3: /usr/local/lib/python2.7/dist-packages/pyinsane/abstract_th.py: L  137: __init__
ERROR  paperwork.frontend.jobs         4: /usr/local/lib/python2.7/dist-packages/pyinsane/abstract_th.py: L   53: wait
ERROR  paperwork.frontend.jobs        ---> Job SingleScan:0 was started by:
ERROR  paperwork.frontend.jobs         0: /usr/local/bin/paperwork: L    6: <module>
ERROR  paperwork.frontend.jobs         1: /usr/local/lib/python2.7/dist-packages/paperwork/paperwork.py: L   98: main
ERROR  paperwork.frontend.jobs         2: /usr/lib/python2.7/dist-packages/gi/types.py: L  113: function
ERROR  paperwork.frontend.jobs         3: /usr/local/lib/python2.7/dist-packages/paperwork/frontend/actions.py: L   56: on_button_clicked_cb
ERROR  paperwork.frontend.jobs         4: /usr/local/lib/python2.7/dist-packages/paperwork/frontend/actions.py: L   53: __do
ERROR  paperwork.frontend.jobs         5: /usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py: L 1815: do
ERROR  paperwork.frontend.jobs         6: /usr/local/lib/python2.7/dist-packages/paperwork/frontend/jobs.py: L  227: schedule
WARNING paperwork.frontend.jobs        Job SingleScan:0 took 1649ms and is unstoppable ! (maximum allowed: 500ms)
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
INFO   paperwork.frontend.mainwindow  List 'pages' : 0 elements displayed (0 additionnal)
INFO   paperwork.frontend.mainwindow  Doc list refresh: 0:20130818_2317_31 deleted
INFO   paperwork.frontend.actions     Action: [Open selected document]
INFO   paperwork.frontend.mainwindow  No document selected. Can't open
INFO   paperwork.frontend.mainwindow  Search: 
INFO   paperwork.frontend.mainwindow  Doc list refresh: 'new doc' reinserted in the list

(doing second comment for other case)

@beat
Copy link
Author

beat commented Aug 18, 2013

And with both scanners connected, i have infinite loop (had that also before the fix) until i press the exit button:

$ paperwork 

** (paperwork:22879): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-BEKIFYOiIi: Connection refused
INFO   paperwork.paperwork            Looking for locales in 'locale/fr/LC_MESSAGES/paperwork.mo' ...
INFO   paperwork.paperwork            Looking for locales in '/usr/local/share/locale/fr/LC_MESSAGES/paperwork.mo' ...
INFO   paperwork.paperwork            Looking for locales in '/usr/share/locale/fr/LC_MESSAGES/paperwork.mo' ...
INFO   root                           Will use locales from '/usr/share/locale'
INFO   paperwork.backend.config       Config file found: /home/beat/.config/paperwork.conf
INFO   root                           UI file used: /usr/share/paperwork/mainwindow.glade

(paperwork:22879): Gtk-WARNING **: Could not load image 'paperwork.svg': Failed to open file '/usr/share/paperwork/paperwork.svg': No such file or directory
INFO   paperwork.frontend.mainwindow  Image view port resized. (0, 0) --> (579, 705)
INFO   paperwork.frontend.jobs        [Scheduler Progress] Starting
INFO   paperwork.frontend.jobs        [Scheduler Main] Starting
INFO   paperwork.frontend.jobs        [Scheduler Progress] Started
INFO   paperwork.frontend.actions     Action: [Refresh index]
INFO   paperwork.frontend.jobs        [Scheduler Main] Started
INFO   paperwork.backend.docsearch    Opening index dir '/home/beat/.local/share/paperwork/index' ...
INFO   paperwork.frontend.mainwindow  Document examen finished. Updating index ...
INFO   paperwork.frontend.mainwindow  New document: 0
INFO   paperwork.frontend.mainwindow  Updated document: 0
INFO   paperwork.frontend.mainwindow  Deleted document: 0
INFO   paperwork.frontend.mainwindow  No changes
INFO   paperwork.frontend.mainwindow  List 'documents' : 2 elements displayed (2 additionnal)
INFO   paperwork.frontend.actions     Action: [Scan a single page]
INFO   paperwork.backend.config       Scanner mode set to 'Color'
INFO   paperwork.util                 Setting scanner option 'source' to 'ADF Front'
ERROR  paperwork.frontend.jobs        ===> Job SingleScan:0 raised an exception: <type 'exceptions.StopIteration'>: 
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
INFO   paperwork.frontend.mainwindow  List 'pages' : 0 elements displayed (0 additionnal)
ERROR  paperwork.frontend.jobs         0: /usr/local/lib/python2.7/dist-packages/paperwork/frontend/jobs.py: L  158: _run
ERROR  paperwork.frontend.jobs         1: /usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py: L 1202: do
ERROR  paperwork.frontend.jobs         2: /usr/local/lib/python2.7/dist-packages/pyinsane/abstract_th.py: L  188: scan
ERROR  paperwork.frontend.jobs         3: /usr/local/lib/python2.7/dist-packages/pyinsane/abstract_th.py: L  137: __init__
ERROR  paperwork.frontend.jobs         4: /usr/local/lib/python2.7/dist-packages/pyinsane/abstract_th.py: L   53: wait
ERROR  paperwork.frontend.jobs        ---> Job SingleScan:0 was started by:
ERROR  paperwork.frontend.jobs         0: /usr/local/bin/paperwork: L    6: <module>
ERROR  paperwork.frontend.jobs         1: /usr/local/lib/python2.7/dist-packages/paperwork/paperwork.py: L   98: main
ERROR  paperwork.frontend.jobs         2: /usr/lib/python2.7/dist-packages/gi/types.py: L  113: function
ERROR  paperwork.frontend.jobs         3: /usr/local/lib/python2.7/dist-packages/paperwork/frontend/actions.py: L   56: on_button_clicked_cb
ERROR  paperwork.frontend.jobs         4: /usr/local/lib/python2.7/dist-packages/paperwork/frontend/actions.py: L   53: __do
ERROR  paperwork.frontend.jobs         5: /usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py: L 1815: do
ERROR  paperwork.frontend.jobs         6: /usr/local/lib/python2.7/dist-packages/paperwork/frontend/jobs.py: L  227: schedule
WARNING paperwork.frontend.jobs        Job SingleScan:0 took 1638ms and is unstoppable ! (maximum allowed: 500ms)
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3506, in on_single_scan_error
    self.refresh_docs({self.doc})
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3717, in refresh_docs
    idx = doc_list.index(doc)
ValueError: <paperwork.backend.img.doc.ImgDoc object at 0x4f08d50> is not in list
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3504, in on_single_scan_error
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3357, in on_page_thumbnailing_end_cb
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3504, in on_single_scan_error
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3357, in on_page_thumbnailing_end_cb
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3504, in on_single_scan_error
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3357, in on_page_thumbnailing_end_cb
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3504, in on_single_scan_error
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3357, in on_page_thumbnailing_end_cb
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3504, in on_single_scan_error
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3357, in on_page_thumbnailing_end_cb
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3504, in on_single_scan_error
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3357, in on_page_thumbnailing_end_cb
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3504, in on_single_scan_error
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3357, in on_page_thumbnailing_end_cb
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3504, in on_single_scan_error
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3357, in on_page_thumbnailing_end_cb
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3504, in on_single_scan_error
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3357, in on_page_thumbnailing_end_cb
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3504, in on_single_scan_error
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3357, in on_page_thumbnailing_end_cb
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3504, in on_single_scan_error
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3357, in on_page_thumbnailing_end_cb
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3504, in on_single_scan_error
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3357, in on_page_thumbnailing_end_cb
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3504, in on_single_scan_error
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3357, in on_page_thumbnailing_end_cb
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3504, in on_single_scan_error
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3357, in on_page_thumbnailing_end_cb
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3504, in on_single_scan_error
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3357, in on_page_thumbnailing_end_cb
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3504, in on_single_scan_error
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3357, in on_page_thumbnailing_end_cb
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3504, in on_single_scan_error
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3357, in on_page_thumbnailing_end_cb
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3504, in on_single_scan_error
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3357, in on_page_thumbnailing_end_cb
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3504, in on_single_scan_error
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3357, in on_page_thumbnailing_end_cb
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3504, in on_single_scan_error
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3357, in on_page_thumbnailing_end_cb
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork/frontend/mainwindow.py", line 3258, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError

...

@beat
Copy link
Author

beat commented Aug 19, 2013

Trying installing 0.2 unstable as 0.1 stable seems to still have those other bugs.

Followed your instructions:

$ sudo apt-get install zlib1g-dev libjpeg-dev libblas-dev libatlas-dev liblapack-dev gfortran g++
$ sudo pip install numpy scikit-learn
$ git clone https://github.com/jflesch/paperwork.git
$ cd paperwork
$ git checkout unstable
$ sudo python ./setup.py install

Got:

ImportError: You need Cython version 0.15 or later.

So did after that (as suggested here: http://docs.cython.org/src/quickstart/install.html ):

$ sudo easy_install cython
$ sudo python ./setup.py install

That finished a long compilation with lots of minor compilation notices, and at end I had:

Looking for Python GObject Introspection ...
Looking for Gtk ...

** (setup.py:27293): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-BEKIFYOiIi: Connection refused
Looking for Glade UI ...
Looking for Poppler ...
Looking for Cairo ...
Looking for OCR tool ...
Looking for OCR language data ...

All dependencies have been found.
/usr/local/lib/python2.7/dist-packages/numpy/distutils/misc_util.py:252: RuntimeWarning: Parent module 'numpy.distutils' not found while handling absolute import
  from numpy.distutils import log

Reporting in next comment on running 0.2:

@beat
Copy link
Author

beat commented Aug 19, 2013

Running 0.2 with both scanners attached and pressing scan button:

$ paperwork

** (paperwork:1336): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-BEKIFYOiIi: Connection refused
INFO   paperwork.paperwork            Looking for locales in 'locale/fr/LC_MESSAGES/paperwork.mo' ...
INFO   root                           Will use locales from 'locale'
INFO   paperwork.backend.config       Config file found: /home/beat/.config/paperwork.conf
INFO   root                           UI file used: src/paperwork/frontend/mainwindow/appmenu.xml
INFO   root                           UI file used: src/paperwork/frontend/mainwindow/mainwindow.glade

(paperwork:1336): Gtk-WARNING **: Could not load image 'paperwork.svg': Failed to open file 'src/paperwork/frontend/mainwindow/paperwork.svg': No such file or directory
INFO   paperwork.frontend.mainwindow  Image view port resized. (0, 0) --> (579, 705)
INFO   paperwork.frontend.util.jobs   [Scheduler Progress] Starting
INFO   paperwork.frontend.util.jobs   [Scheduler Progress] Started
INFO   paperwork.frontend.util.jobs   [Scheduler Main] Starting
INFO   paperwork.frontend.util.actions Action: [Refresh index]
INFO   paperwork.frontend.util.jobs   [Scheduler Main] Started
INFO   paperwork.backend.docsearch    Opening index dir '/home/beat/.local/share/paperwork/index' ...
INFO   paperwork.backend.docsearch    Creating a new index
INFO   paperwork.backend.docsearch    Index '/home/beat/.local/share/paperwork/index' created
INFO   paperwork.backend.docsearch    Opening label_estimators file '/home/beat/.local/share/paperwork/label_estimators/label_estimators.jbl' ...
ERROR  paperwork.backend.docsearch    Failed to open label_estimator file '/home/beat/.local/share/paperwork/index', or bad label_estimator structure
ERROR  paperwork.backend.docsearch    Exception was: [Errno 2] No such file or directory: '/home/beat/.local/share/paperwork/label_estimators/label_estimators.jbl'
INFO   paperwork.backend.docsearch    Will create new label_estimators
INFO   paperwork.frontend.mainwindow  Document examen finished. Updating index ...
INFO   paperwork.frontend.mainwindow  New document: 1
INFO   paperwork.frontend.mainwindow  Updated document: 0
INFO   paperwork.frontend.mainwindow  Deleted document: 0
INFO   paperwork.frontend.util.progressivelist List 'documents' : 2 elements displayed (2 additionnal)
INFO   paperwork.backend.docsearch    Indexing new doc: 20130816_1755_40
INFO   paperwork.backend.docsearch    Fitting estimator with doc: 20130816_1755_40 
WARNING paperwork.backend.img.page     WARNING: Doc 20130816_1755_40 uses old box format
INFO   paperwork.backend.docsearch    Index: Commiting changes and saving estimators
INFO   paperwork.backend.docsearch    Index: Reloading ...
INFO   paperwork.backend.docsearch    Opening index dir '/home/beat/.local/share/paperwork/index' ...
INFO   paperwork.backend.docsearch    Opening label_estimators file '/home/beat/.local/share/paperwork/label_estimators/label_estimators.jbl' ...
INFO   paperwork.frontend.util.actions Action: [Open selected document]
INFO   paperwork.frontend.mainwindow  No document selected. Can't open
INFO   paperwork.frontend.util.progressivelist List 'documents' : 2 elements displayed (2 additionnal)
INFO   paperwork.frontend.util.actions Action: [Scan a single page]
INFO   paperwork.backend.config       Scanner mode set to 'Color'
INFO   paperwork.frontend.util.scanner Setting scanner option 'source' to 'ADF Front'
ERROR  paperwork.frontend.util.jobs   ===> Job SingleScan:0 raised an exception: <type 'exceptions.StopIteration'>: 
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
ERROR  paperwork.frontend.util.jobs    0: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/util/jobs.py: L  159: _run
ERROR  paperwork.frontend.util.jobs    1: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py: L 1270: do
ERROR  paperwork.frontend.util.jobs    2: /usr/local/lib/python2.7/dist-packages/pyinsane/abstract_th.py: L  188: scan
ERROR  paperwork.frontend.util.jobs    3: /usr/local/lib/python2.7/dist-packages/pyinsane/abstract_th.py: L  137: __init__
ERROR  paperwork.frontend.util.jobs    4: /usr/local/lib/python2.7/dist-packages/pyinsane/abstract_th.py: L   53: wait
ERROR  paperwork.frontend.util.jobs   ---> Job SingleScan:0 was started by:
ERROR  paperwork.frontend.util.jobs    0: /usr/local/bin/paperwork: L    5: <module>
ERROR  paperwork.frontend.util.jobs    1: /usr/lib/python2.7/dist-packages/pkg_resources.py: L  505: run_script
ERROR  paperwork.frontend.util.jobs    2: /usr/lib/python2.7/dist-packages/pkg_resources.py: L 1245: run_script
ERROR  paperwork.frontend.util.jobs    3: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/EGG-INFO/scripts/paperwork: L    6: <module>
ERROR  paperwork.frontend.util.jobs    4: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/paperwork.py: L   98: main
ERROR  paperwork.frontend.util.jobs    5: /usr/lib/python2.7/dist-packages/gi/types.py: L  113: function
ERROR  paperwork.frontend.util.jobs    6: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/util/actions.py: L   58: on_button_clicked_cb
ERROR  paperwork.frontend.util.jobs    7: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/util/actions.py: L   55: __do
ERROR  paperwork.frontend.util.jobs    8: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py: L 1909: do
ERROR  paperwork.frontend.util.jobs    9: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/util/jobs.py: L  228: schedule
WARNING paperwork.frontend.util.jobs   Job SingleScan:0 took 5725ms and is unstoppable ! (maximum allowed: 500ms)
INFO   paperwork.frontend.util.progressivelist List 'pages' : 0 elements displayed (0 additionnal)
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py", line 3362, in on_single_scan_error
    self.refresh_docs({self.doc})
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py", line 3569, in refresh_docs
    idx = doc_list.index(doc)
ValueError: <paperwork.backend.img.doc.ImgDoc object at 0x7426f90> is not in list
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py", line 3360, in on_single_scan_error
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py", line 3107, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py", line 3214, in on_page_thumbnailing_end_cb
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py", line 3107, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py", line 3360, in on_single_scan_error
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py", line 3107, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py", line 3214, in on_page_thumbnailing_end_cb
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py", line 3107, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py", line 3360, in on_single_scan_error
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py", line 3107, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py", line 3214, in on_page_thumbnailing_end_cb
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py", line 3107, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError


...

@beat
Copy link
Author

beat commented Aug 19, 2013

Removing the Epson stylus photo RX425 scaner/printer, output looks much better now, and resolutions are displayed correctly in the scaner settings. A scan worked!

in terminal logs i got following warnings (if that may help):

...
WARNING paperwork.frontend.util.jobs   Job SingleScan:0 took 17328ms and is unstoppable ! (maximum allowed: 500ms)
...
INFO   paperwork.frontend.mainwindow  Will redo thumbnails: [(1, <paperwork.backend.img.doc.ImgDoc object at 0x6fb0f90>)]
INFO   paperwork.frontend.mainwindow  Zoom: 0.175455
INFO   paperwork.frontend.util.actions Action: [Open settings dialog]
INFO   root                           UI file used: src/paperwork/frontend/settingswindow/settingswindow.glade
ERROR  paperwork.frontend.settingswindow Warning: Long name not found for language 'equ'.
WARNING paperwork.frontend.settingswindow   Will use short name as long name.
ERROR  paperwork.frontend.settingswindow Warning: Long name not found for language 'osd'.
WARNING paperwork.frontend.settingswindow   Will use short name as long name.

(paperwork:1505): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed
/usr/lib/python2.7/dist-packages/gi/types.py:113: Warning: g_object_set_property: assertion `G_IS_VALUE (value)' failed
  return info.invoke(*args, **kwargs)
/usr/lib/python2.7/dist-packages/gi/types.py:113: Warning: g_value_unset: assertion `G_IS_VALUE (value)' failed
  return info.invoke(*args, **kwargs)

(paperwork:1505): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:1505): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:1505): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed
INFO   paperwork.frontend.util.jobs   [Scheduler progress] Starting
INFO   paperwork.frontend.util.jobs   [Scheduler progress] Started
INFO   paperwork.frontend.settingswindow Looking for scan devices ...

(paperwork:1505): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:1505): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:1505): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:1505): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:1505): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:1505): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed
INFO   paperwork.frontend.settingswindow Device found: [FUJITSU ScanSnap S1500] -> [fujitsu:ScanSnap S1500:9226]
INFO   paperwork.frontend.settingswindow Got value [['FUJITSU ScanSnap S1500', 'fujitsu:ScanSnap S1500:9226']]
INFO   paperwork.frontend.settingswindow Select scanner: 0
WARNING paperwork.frontend.util.jobs   Job DeviceFinder:0 took 2654ms and is unstoppable ! (maximum allowed: 500ms)
INFO   paperwork.frontend.settingswindow Looking for resolution of device [fujitsu:ScanSnap S1500:9226]
/usr/lib/python2.7/dist-packages/gi/types.py:113: Warning: unable to set property `sensitive' of type `gboolean' from value of type `gchararray'
  return info.invoke(*args, **kwargs)
/usr/lib/python2.7/dist-packages/gi/types.py:113: Warning: unable to set property `xpad' of type `guint' from value of type `gchararray'
  return info.invoke(*args, **kwargs)
INFO   paperwork.frontend.settingswindow Resolutions found: (50, 600, 1)
INFO   paperwork.frontend.settingswindow Got value [['50', 50]]
INFO   paperwork.frontend.settingswindow Got value [['100', 100]]
INFO   paperwork.frontend.settingswindow Got value [['150', 150]]
INFO   paperwork.frontend.settingswindow Got value [['200', 200]]
INFO   paperwork.frontend.settingswindow Got value [['250', 250]]
INFO   paperwork.frontend.settingswindow Got value [['300 (recommended)', 300]]
INFO   paperwork.frontend.settingswindow Got value [['350', 350]]
INFO   paperwork.frontend.settingswindow Got value [['400', 400]]
INFO   paperwork.frontend.settingswindow Got value [['450', 450]]
INFO   paperwork.frontend.settingswindow Got value [['500', 500]]
INFO   paperwork.frontend.settingswindow Got value [['550', 550]]
INFO   paperwork.frontend.settingswindow Got value [['600', 600]]

EDIT: UPDATED:
Now unplugin the ScanSnap and letting the Epson plugged in and pressing scan, I get the non-stopping messages above in the terminal window from which i started PaperWork, but now i get a pop-up window with:

Error while scanning: <class 'pyinsane.rawapi.SaneStatus'> : Error during device I/O (9)

And when quitting I get:

TypeError: argument parent: Expected Gtk.Window, but got paperwork.frontend.mainwindow.MainWindow
INFO   paperwork.frontend.util.actions Action: [Quit]
INFO   paperwork.frontend.util.actions Action: [Quit (real)]
INFO   paperwork.frontend.util.jobs   [Scheduler Progress] Stopping
INFO   paperwork.frontend.util.jobs   [Scheduler Progress] Stopped
INFO   paperwork.frontend.util.jobs   [Scheduler Main] Stopping
INFO   paperwork.frontend.util.jobs   [Scheduler Main] Stopped
INFO   paperwork.backend.config       Writing /home/beat/.config/paperwork.conf ... 
INFO   paperwork.backend.config       Done
INFO   paperwork.frontend.util.actions Action: [Open selected document]
INFO   paperwork.frontend.mainwindow  No document selected. Can't open
INFO   paperwork.frontend.util.actions Action: [Label selected]
INFO   paperwork.frontend.util.dialog Showing popup !
/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:511: PyGIDeprecationWarning: The use of the keyword type as a parameter of the Gtk.MessageDialog constructor has been depricated. Please use message_type instead.
  warnings.warn("The use of the keyword type as a parameter of the Gtk.MessageDialog constructor has been depricated. Please use message_type instead.", PyGIDeprecationWarning)
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/util/dialog.py", line 25, in popup_no_scanner_found
    message_format=msg)
  File "/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py", line 519, in __init__
    **kwds)
  File "/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py", line 450, in __init__
    self.set_transient_for(parent)
  File "/usr/lib/python2.7/dist-packages/gi/types.py", line 113, in function
    return info.invoke(*args, **kwargs)
TypeError: argument parent: Expected Gtk.Window, but got paperwork.frontend.mainwindow.MainWindow
INFO   paperwork.paperwork            Good bye
Segmentation fault (core dumped)

@beat
Copy link
Author

beat commented Aug 19, 2013

It looks like the double-sided scan of the ScanSnap scanner isn't supported by PaperScan 0.2 unstable.

BTW 0.2 unstable seems to work more stable than 0.1 stable ;)

@jflesch
Copy link
Member

jflesch commented Aug 19, 2013

ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: 
ERROR  paperwork.frontend.util.jobs    0: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/util/jobs.py: L  159: _run
ERROR  paperwork.frontend.util.jobs    1: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py: L 1270: do
ERROR  paperwork.frontend.util.jobs    2: /usr/local/lib/python2.7/dist-packages/pyinsane/abstract_th.py: L  188: scan
ERROR  paperwork.frontend.util.jobs    3: /usr/local/lib/python2.7/dist-packages/pyinsane/abstract_th.py: L  137: __init__
ERROR  paperwork.frontend.util.jobs    4: /usr/local/lib/python2.7/dist-packages/pyinsane/abstract_th.py: L   53: wait

^ This one is actually a regression in Pyinsane. I just fixed it (pyinsane 1.2.1). To fix it:

$ sudo pip uninstall pyinsane  # you may have to do it many times if you have old versions installed
$ sudo pip install pyinsane

@jflesch
Copy link
Member

jflesch commented Aug 19, 2013

It looks like the double-sided scan of the ScanSnap scanner isn't supported by PaperScan 0.2 unstable.

Known issue: #220

Segmentation fault (core dumped)

Known issue: pyinsane/#1

I think most of your other problems may be related to the regression in Pyinsane.

@beat
Copy link
Author

beat commented Aug 19, 2013

Great!
Ok, looks like uninstalling and reinstalling Pyinsane fixed one of the bugs mentioned.

I could now reproduce one of the bugs as follows:

  • switch ScanSnap on, set it up in configuration, and scan: works.
  • quit Paperworks
  • switch ScanSnap off, leaving Epson scaner on
  • start Paperworks and press scan button without setup. You get it hanging, waiting with these messages displaying all the time until you quit PaperWork:

EDIT: fixed markup to make errors visible:

INFO   paperwork.frontend.util.actions Action: [Scan a single page]
ERROR  paperwork.frontend.mainwindow  No scanner found !
ERROR  paperwork.frontend.util.jobs   ===> Job SingleScan:0 raised an exception: <class 'pyinsane.rawapi.SaneException'>: <class 'pyinsane.rawapi.SaneStatus'> : Data is invalid (4)
ERROR  paperwork.frontend.util.jobs    0: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/util/jobs.py: L  159: _run
ERROR  paperwork.frontend.util.jobs    1: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py: L 1260: do
ERROR  paperwork.frontend.util.jobs    2: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/backend/config.py: L  359: get_scanner_inst
ERROR  paperwork.frontend.util.jobs    3: /usr/local/lib/python2.7/dist-packages/pyinsane/abstract_th.py: L  176: _get_options
ERROR  paperwork.frontend.util.jobs    4: /usr/local/lib/python2.7/dist-packages/pyinsane/abstract_th.py: L   53: wait
ERROR  paperwork.frontend.util.jobs   ---> Job SingleScan:0 was started by:
ERROR  paperwork.frontend.util.jobs    0: /usr/local/bin/paperwork: L    5: <module>
ERROR  paperwork.frontend.util.jobs    1: /usr/lib/python2.7/dist-packages/pkg_resources.py: L  505: run_script
ERROR  paperwork.frontend.util.jobs    2: /usr/lib/python2.7/dist-packages/pkg_resources.py: L 1245: run_script
ERROR  paperwork.frontend.util.jobs    3: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/EGG-INFO/scripts/paperwork: L    6: <module>
ERROR  paperwork.frontend.util.jobs    4: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/paperwork.py: L   98: main
ERROR  paperwork.frontend.util.jobs    5: /usr/lib/python2.7/dist-packages/gi/types.py: L  113: function
ERROR  paperwork.frontend.util.jobs    6: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/util/actions.py: L   58: on_button_clicked_cb
ERROR  paperwork.frontend.util.jobs    7: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/util/actions.py: L   55: __do
ERROR  paperwork.frontend.util.jobs    8: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py: L 1909: do
ERROR  paperwork.frontend.util.jobs    9: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/util/jobs.py: L  228: schedule
INFO   paperwork.frontend.util.dialog Showing popup !
/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:511: PyGIDeprecationWarning: The use of the keyword type as a parameter of the Gtk.MessageDialog constructor has been depricated. Please use message_type instead.
  warnings.warn("The use of the keyword type as a parameter of the Gtk.MessageDialog constructor has been depricated. Please use message_type instead.", PyGIDeprecationWarning)
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/util/dialog.py", line 25, in popup_no_scanner_found
    message_format=msg)
  File "/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py", line 519, in __init__
    **kwds)
  File "/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py", line 450, in __init__
    self.set_transient_for(parent)
  File "/usr/lib/python2.7/dist-packages/gi/types.py", line 113, in function
    return info.invoke(*args, **kwargs)
TypeError: argument parent: Expected Gtk.Window, but got paperwork.frontend.mainwindow.MainWindow
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: <class 'pyinsane.rawapi.SaneStatus'> : Data is invalid (4)
INFO   paperwork.frontend.util.progressivelist List 'pages' : 0 elements displayed (0 additionnal)
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py", line 3362, in on_single_scan_error
    self.refresh_docs({self.doc})
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py", line 3569, in refresh_docs
    idx = doc_list.index(doc)
ValueError: <paperwork.backend.img.doc.ImgDoc object at 0x6b4cf10> is not in list
INFO   paperwork.frontend.util.dialog Showing popup !
/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:511: PyGIDeprecationWarning: The use of the keyword type as a parameter of the Gtk.MessageDialog constructor has been depricated. Please use message_type instead.
  warnings.warn("The use of the keyword type as a parameter of the Gtk.MessageDialog constructor has been depricated. Please use message_type instead.", PyGIDeprecationWarning)
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/util/dialog.py", line 25, in popup_no_scanner_found
    message_format=msg)
  File "/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py", line 519, in __init__
    **kwds)
  File "/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py", line 450, in __init__
    self.set_transient_for(parent)
  File "/usr/lib/python2.7/dist-packages/gi/types.py", line 113, in function
    return info.invoke(*args, **kwargs)
TypeError: argument parent: Expected Gtk.Window, but got paperwork.frontend.mainwindow.MainWindow
ERROR  paperwork.frontend.mainwindow  Error while scanning: <type 'str'>: <class 'pyinsane.rawapi.SaneStatus'> : Data is invalid (4)
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py", line 3360, in on_single_scan_error
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py", line 3107, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py", line 3214, in on_page_thumbnailing_end_cb
    self.set_mouse_cursor("Normal")
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py", line 3107, in set_mouse_cursor
    assert(self.__busy_mouse_counter >= 0)
AssertionError
INFO   paperwork.frontend.util.dialog Showing popup !
...

If when pressing Scan, the configured scaner is not found, then the configuration dialog should appear instead of hanging and looping errors ?

@beat
Copy link
Author

beat commented Aug 19, 2013

OK, yet another related issue (btw do you prefer me to open them as separate issues on github ?):

  • Start
  • Configure Epson as scanner
  • Press Scan button
  • San worked
  • Delete scanned document
  • Enter configuration again. No scanner is proposed anymore.

Output in terminal:

~$ paperwork 

** (paperwork:2247): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-BEKIFYOiIi: Connection refused
INFO   paperwork.paperwork            Looking for locales in 'locale/fr/LC_MESSAGES/paperwork.mo' ...
INFO   paperwork.paperwork            Looking for locales in '/usr/local/share/locale/fr/LC_MESSAGES/paperwork.mo' ...
INFO   paperwork.paperwork            Looking for locales in '/usr/share/locale/fr/LC_MESSAGES/paperwork.mo' ...
INFO   root                           Will use locales from '/usr/share/locale'
INFO   paperwork.backend.config       Config file found: /home/beat/.config/paperwork.conf
INFO   root                           UI file used: /usr/share/paperwork/mainwindow/appmenu.xml
INFO   root                           UI file used: /usr/share/paperwork/mainwindow/mainwindow.glade

(paperwork:2247): Gtk-WARNING **: Could not load image 'paperwork.svg': Failed to open file '/usr/share/paperwork/mainwindow/paperwork.svg': No such file or directory
INFO   paperwork.frontend.mainwindow  Image view port resized. (0, 0) --> (579, 705)
INFO   paperwork.frontend.util.jobs   [Scheduler Progress] Starting
INFO   paperwork.frontend.util.jobs   [Scheduler Progress] Started
INFO   paperwork.frontend.util.jobs   [Scheduler Main] Starting
INFO   paperwork.frontend.util.actions Action: [Refresh index]
INFO   paperwork.frontend.util.jobs   [Scheduler Main] Started
INFO   paperwork.backend.docsearch    Opening index dir '/home/beat/.local/share/paperwork/index' ...
INFO   paperwork.backend.docsearch    Opening label_estimators file '/home/beat/.local/share/paperwork/label_estimators/label_estimators.jbl' ...
INFO   paperwork.frontend.mainwindow  Document examen finished. Updating index ...
INFO   paperwork.frontend.mainwindow  New document: 0
INFO   paperwork.frontend.mainwindow  Updated document: 0
INFO   paperwork.frontend.mainwindow  Deleted document: 0
INFO   paperwork.frontend.mainwindow  No changes
INFO   paperwork.frontend.util.progressivelist List 'documents' : 3 elements displayed (3 additionnal)
INFO   paperwork.frontend.util.actions Action: [Open settings dialog]
INFO   root                           UI file used: /usr/share/paperwork/settingswindow/settingswindow.glade
ERROR  paperwork.frontend.settingswindow Warning: Long name not found for language 'equ'.
WARNING paperwork.frontend.settingswindow   Will use short name as long name.
ERROR  paperwork.frontend.settingswindow Warning: Long name not found for language 'osd'.
WARNING paperwork.frontend.settingswindow   Will use short name as long name.

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed
/usr/lib/python2.7/dist-packages/gi/types.py:113: Warning: g_object_set_property: assertion `G_IS_VALUE (value)' failed
  return info.invoke(*args, **kwargs)
/usr/lib/python2.7/dist-packages/gi/types.py:113: Warning: g_value_unset: assertion `G_IS_VALUE (value)' failed
  return info.invoke(*args, **kwargs)

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed
INFO   paperwork.frontend.util.jobs   [Scheduler progress] Starting
INFO   paperwork.frontend.util.jobs   [Scheduler progress] Started
INFO   paperwork.frontend.settingswindow Looking for scan devices ...

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed
INFO   paperwork.frontend.settingswindow Device found: [Epson RX420] -> [epson2:libusb:001:100]
INFO   paperwork.frontend.settingswindow Got value [['Epson RX420', 'epson2:libusb:001:100']]
WARNING paperwork.frontend.util.jobs   Job DeviceFinder:0 took 2615ms and is unstoppable ! (maximum allowed: 500ms)
INFO   paperwork.frontend.settingswindow Select scanner: 0
INFO   paperwork.frontend.settingswindow Looking for resolution of device [epson2:libusb:001:100]
/usr/lib/python2.7/dist-packages/gi/types.py:113: Warning: unable to set property `sensitive' of type `gboolean' from value of type `gchararray'
  return info.invoke(*args, **kwargs)
/usr/lib/python2.7/dist-packages/gi/types.py:113: Warning: unable to set property `xpad' of type `guint' from value of type `gchararray'
  return info.invoke(*args, **kwargs)
INFO   paperwork.frontend.settingswindow Resolutions found: [100, 300, 600, 1200]
INFO   paperwork.frontend.settingswindow Got value [['100', 100]]
INFO   paperwork.frontend.settingswindow Got value [['300 (recommended)', 300]]
INFO   paperwork.frontend.settingswindow Got value [['600', 600]]
INFO   paperwork.frontend.settingswindow Got value [['1200', 1200]]
INFO   paperwork.backend.config       Writing /home/beat/.config/paperwork.conf ... 
INFO   paperwork.backend.config       Done
INFO   paperwork.frontend.settingswindow Settings window destroyed
INFO   paperwork.frontend.util.jobs   [Scheduler progress] Stopping
INFO   paperwork.frontend.util.jobs   [Scheduler progress] Stopped
INFO   paperwork.frontend.util.actions Action: [Scan a single page]
INFO   paperwork.backend.config       Scanner mode set to 'Color'
ERROR  paperwork.frontend.mainwindow  Warning: Unable to set scanner source: ['Auto', 'FlatBed', '.*ADF.*', '.*Feeder.*'] are not a valid values for option source
INFO   paperwork.backend.img.page     Scanner resolution: 300
INFO   paperwork.backend.img.page     Scanner calibration: None
INFO   paperwork.backend.img.page     Scan rotated of 0 degree
INFO   paperwork.backend.img.page     Scan rotated of -90 degree
INFO   paperwork.backend.img.page     Scan rotated of -180 degree
INFO   paperwork.backend.img.page     Scan rotated of -270 degree
INFO   paperwork.backend.img.page     Using Tesseract for OCR
INFO   paperwork.backend.img.page     Running OCR on page orientation 0
INFO   paperwork.backend.img.page     Running OCR on page orientation 1
INFO   paperwork.backend.img.page     Evaluating score of page orientation (1) using method 'spell_checker' ...
INFO   paperwork.backend.img.page     Page orientation 1 score: 0
INFO   paperwork.backend.img.page     Evaluating score of page orientation (0) using method 'spell_checker' ...
INFO   paperwork.backend.img.page     Page orientation 0 score: 0
INFO   paperwork.backend.img.page     Running OCR on page orientation 2
INFO   paperwork.backend.img.page     Running OCR on page orientation 3
INFO   paperwork.backend.img.page     Evaluating score of page orientation (2) using method 'spell_checker' ...
INFO   paperwork.backend.img.page     Page orientation 2 score: 0
INFO   paperwork.backend.img.page     Evaluating score of page orientation (3) using method 'spell_checker' ...
INFO   paperwork.backend.img.page     Page orientation 3 score: 0
INFO   paperwork.backend.img.page     Best: 0.000000
INFO   paperwork.backend.img.page     Extracting boxes ...
INFO   paperwork.backend.img.page     Done
INFO   paperwork.backend.img.page     Scan done
INFO   paperwork.backend.docsearch    Updating modified doc: 20130819_1350_15
INFO   paperwork.backend.docsearch    Fitting estimator with doc: 20130819_1350_15 
INFO   paperwork.backend.docsearch    Index: Commiting changes and saving estimators
INFO   paperwork.backend.docsearch    Adding document '20130819_1350_15' to the index
WARNING paperwork.frontend.util.jobs   Job SingleScan:0 took 47362ms and is unstoppable ! (maximum allowed: 500ms)
INFO   paperwork.frontend.util.progressivelist List 'pages' : 1 elements displayed (1 additionnal)
INFO   root                           Showing page 20130819_1350_15 p1
INFO   paperwork.frontend.util.actions Action: [Open selected document]
INFO   paperwork.frontend.mainwindow  No document selected. Can't open
INFO   paperwork.frontend.mainwindow  Doc list refresh: 'new doc' popped out of the list
INFO   paperwork.frontend.mainwindow  Doc list refresh: 0:20130819_1350_15 added
INFO   paperwork.frontend.mainwindow  Search: 
INFO   paperwork.frontend.mainwindow  Doc list refresh: 'new doc' reinserted in the list
INFO   paperwork.frontend.mainwindow  Will redo thumbnails: [(1, <paperwork.backend.img.doc.ImgDoc object at 0x66f1f10>)]
INFO   paperwork.frontend.mainwindow  Zoom: 0.165051
/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:511: PyGIDeprecationWarning: The use of the keyword type as a parameter of the Gtk.MessageDialog constructor has been depricated. Please use message_type instead.
  warnings.warn("The use of the keyword type as a parameter of the Gtk.MessageDialog constructor has been depricated. Please use message_type instead.", PyGIDeprecationWarning)
INFO   paperwork.frontend.util.actions Action: [Delete page]
INFO   paperwork.frontend.mainwindow  Deleting ...
INFO   paperwork.backend.img.page     Destroying page: 20130819_1350_15 p1
INFO   paperwork.backend.common.doc   Destroying doc: /home/beat/papers/20130819_1350_15
INFO   root                           Deleting file /home/beat/papers/20130819_1350_15/paper.1.words
INFO   root                           Deleting file /home/beat/papers/20130819_1350_15/paper.1.jpg
INFO   root                           Deleting file /home/beat/papers/20130819_1350_15/paper.1.thumb.jpg
INFO   paperwork.backend.common.doc   Done
INFO   paperwork.frontend.mainwindow  Deleted
INFO   paperwork.frontend.mainwindow  Doc list refresh: 1:20130819_1350_15 deleted
INFO   paperwork.frontend.util.actions Action: [Open selected document]
INFO   paperwork.frontend.mainwindow  No document selected. Can't open
INFO   paperwork.frontend.mainwindow  Doc list refresh: 'new doc' popped out of the list
INFO   paperwork.frontend.mainwindow  Search: 
INFO   paperwork.frontend.mainwindow  Doc list refresh: 'new doc' reinserted in the list
INFO   paperwork.frontend.util.actions Action: [Show a page (selected from the page thumbnail list)]
INFO   root                           Showing page Dummy page
INFO   paperwork.frontend.util.progressivelist List 'pages' : 0 elements displayed (0 additionnal)
INFO   paperwork.frontend.util.actions Action: [Open settings dialog]
INFO   root                           UI file used: /usr/share/paperwork/settingswindow/settingswindow.glade
ERROR  paperwork.frontend.settingswindow Warning: Long name not found for language 'equ'.
WARNING paperwork.frontend.settingswindow   Will use short name as long name.
ERROR  paperwork.frontend.settingswindow Warning: Long name not found for language 'osd'.
WARNING paperwork.frontend.settingswindow   Will use short name as long name.

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed
INFO   paperwork.frontend.util.jobs   [Scheduler progress] Starting
INFO   paperwork.frontend.util.jobs   [Scheduler progress] Started
INFO   paperwork.frontend.settingswindow Looking for scan devices ...

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed
WARNING: gnome-keyring:: C_Initialize called twice for same process
WARNING paperwork.frontend.util.jobs   Job DeviceFinder:0 took 2527ms and is unstoppable ! (maximum allowed: 500ms)
INFO   paperwork.frontend.settingswindow Settings window destroyed
INFO   paperwork.frontend.util.jobs   [Scheduler progress] Stopping
INFO   paperwork.frontend.util.jobs   [Scheduler progress] Stopped
INFO   paperwork.frontend.util.actions Action: [Open settings dialog]
INFO   root                           UI file used: /usr/share/paperwork/settingswindow/settingswindow.glade
ERROR  paperwork.frontend.settingswindow Warning: Long name not found for language 'equ'.
WARNING paperwork.frontend.settingswindow   Will use short name as long name.
ERROR  paperwork.frontend.settingswindow Warning: Long name not found for language 'osd'.
WARNING paperwork.frontend.settingswindow   Will use short name as long name.

(paperwork:2247): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

.... (and so on each time opening config window)

@jflesch
Copy link
Member

jflesch commented Aug 19, 2013

ERROR  paperwork.frontend.mainwindow  No scanner found !
ERROR  paperwork.frontend.util.jobs   ===> Job SingleScan:0 raised an exception: <class 'pyinsane.rawapi.SaneException'>: <class 'pyinsane.rawapi.SaneStatus'> : Data is invalid (4)
ERROR  paperwork.frontend.util.jobs    0: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/util/jobs.py: L  159: _run
ERROR  paperwork.frontend.util.jobs    1: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py: L 1260: do
ERROR  paperwork.frontend.util.jobs    2: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/backend/config.py: L  359: get_scanner_inst
ERROR  paperwork.frontend.util.jobs    3: /usr/local/lib/python2.7/dist-packages/pyinsane/abstract_th.py: L  176: _get_options

ERROR paperwork.frontend.util.jobs 4: /usr/local/lib/python2.7/dist-packages/pyinsane/abstract_th.py: L 53: wait

^ This exception is normal. It is actually handled (a Gobject signal is sent) and then reraised. I do it because the exception caught is a bit too generic, so I prefer have the whole info anyway.

INFO   paperwork.frontend.util.dialog Showing popup !
/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:511: PyGIDeprecationWarning: The use of the keyword type as a parameter of the Gtk.MessageDialog constructor has been depricated. Please use message_type instead.
  warnings.warn("The use of the keyword type as a parameter of the Gtk.MessageDialog constructor has been depricated. Please use message_type instead.", PyGIDeprecationWarning)
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/util/dialog.py", line 25, in popup_no_scanner_found
    message_format=msg)
  File "/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py", line 519, in __init__
    **kwds)
  File "/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py", line 450, in __init__
    self.set_transient_for(parent)
  File "/usr/lib/python2.7/dist-packages/gi/types.py", line 113, in function
    return info.invoke(*args, **kwargs)

^ Fixed:
6bd73a4 : depreciation warning
37752fe : the popup "no scanner found"

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/gi/overrides/GLib.py", line 629, in <lambda>
    return (lambda data: callback(*data), user_data)
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py", line 3362, in on_single_scan_error
    self.refresh_docs({self.doc})
  File "/usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py", line 3569, in refresh_docs
    idx = doc_list.index(doc)

^ Fixed : 3792dae

I think the remaining exceptions / errors are probably the result of these ones.

@jflesch
Copy link
Member

jflesch commented Aug 19, 2013

(btw do you prefer me to open them as separate issues on github ?):

Yes, I would prefer, because we are very far from the original issue now.

@jflesch
Copy link
Member

jflesch commented Aug 19, 2013

  • Start
  • Configure Epson as scanner
  • Press Scan button
  • San worked
  • Delete scanned document
  • Enter configuration again. No scanner is proposed anymore.

I need a scanner to try this one. I don't have one right now (I'm not at home). I'll try it tomorrow evening.

@beat
Copy link
Author

beat commented Aug 19, 2013

Thanks! No worries, no rush, this is free and libre open-source :-)

Strangely the same works with the ScanSnap but not with the Epson. So not 100% sure you will be able to reproduce.

To upgrade the 0.2 installed from git to confirm you the fixes above, what do I do after the git pull ?

To install I did as you recommended:

$ sudo apt-get install zlib1g-dev libjpeg-dev libblas-dev libatlas-dev liblapack-dev gfortran g++
$ sudo pip install numpy scikit-learn
$ git clone https://github.com/jflesch/paperwork.git
$ cd paperwork
$ git checkout unstable
$ sudo python ./setup.py install

@jflesch
Copy link
Member

jflesch commented Aug 19, 2013

To upgrade:

$ git pull
$ sudo python ./setup.py install

@beat
Copy link
Author

beat commented Aug 19, 2013

Ok, this time I have the nice new pop-up window: "No scanner found (is your scanner turned on ?)" : So at first it sounds good. But clicking "Ok", I have spinning mousepointer, and "Scanning ..." at bottom status.
I can then still with spinning mousepointer click the Quit button.

Here the errors reported in the terminal window between clicking Scan (with scanner off) and spinning wheel:

INFO   paperwork.frontend.util.actions Action: [Scan a single page]
ERROR  paperwork.frontend.mainwindow  No scanner found !
ERROR  paperwork.frontend.util.jobs   ===> Job SingleScan:0 raised an exception: <class 'pyinsane.rawapi.SaneException'>: <class 'pyinsane.rawapi.SaneStatus'> : Data is invalid (4)
INFO   paperwork.frontend.util.dialog Showing popup !
ERROR  paperwork.frontend.util.jobs    0: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/util/jobs.py: L  159: _run
ERROR  paperwork.frontend.util.jobs    1: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py: L 1259: do
ERROR  paperwork.frontend.util.jobs    2: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/backend/config.py: L  359: get_scanner_inst
ERROR  paperwork.frontend.util.jobs    3: /usr/local/lib/python2.7/dist-packages/pyinsane/abstract_th.py: L  176: _get_options
ERROR  paperwork.frontend.util.jobs    4: /usr/local/lib/python2.7/dist-packages/pyinsane/abstract_th.py: L   53: wait
ERROR  paperwork.frontend.util.jobs   ---> Job SingleScan:0 was started by:
ERROR  paperwork.frontend.util.jobs    0: /usr/local/bin/paperwork: L    5: <module>
ERROR  paperwork.frontend.util.jobs    1: /usr/lib/python2.7/dist-packages/pkg_resources.py: L  505: run_script
ERROR  paperwork.frontend.util.jobs    2: /usr/lib/python2.7/dist-packages/pkg_resources.py: L 1245: run_script
ERROR  paperwork.frontend.util.jobs    3: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/EGG-INFO/scripts/paperwork: L    6: <module>
ERROR  paperwork.frontend.util.jobs    4: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/paperwork.py: L   98: main
ERROR  paperwork.frontend.util.jobs    5: /usr/lib/python2.7/dist-packages/gi/types.py: L  113: function
ERROR  paperwork.frontend.util.jobs    6: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/util/actions.py: L   58: on_button_clicked_cb
ERROR  paperwork.frontend.util.jobs    7: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/util/actions.py: L   55: __do
ERROR  paperwork.frontend.util.jobs    8: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/mainwindow/__init__.py: L 1913: do
ERROR  paperwork.frontend.util.jobs    9: /usr/local/lib/python2.7/dist-packages/paperwork-0.2_unstable-py2.7.egg/paperwork/frontend/util/jobs.py: L  228: schedule

@beat
Copy link
Author

beat commented Aug 19, 2013

The problem you need to reproduce is still there, this time I get PaperWork to quit on second Settings press with the Epson scanner, and this in terminal:

$ paperwork 

** (paperwork:5469): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-BEKIFYOiIi: Connection refused
INFO   paperwork.paperwork            Looking for locales in 'locale/fr/LC_MESSAGES/paperwork.mo' ...
INFO   root                           Will use locales from 'locale'
INFO   paperwork.backend.config       Config file found: /home/beat/.config/paperwork.conf
INFO   root                           UI file used: src/paperwork/frontend/mainwindow/appmenu.xml
INFO   root                           UI file used: src/paperwork/frontend/mainwindow/mainwindow.glade

(paperwork:5469): Gtk-WARNING **: Could not load image 'paperwork.svg': Failed to open file 'src/paperwork/frontend/mainwindow/paperwork.svg': No such file or directory
INFO   paperwork.frontend.mainwindow  Image view port resized. (0, 0) --> (579, 705)
INFO   paperwork.frontend.util.jobs   [Scheduler Progress] Starting
INFO   paperwork.frontend.util.jobs   [Scheduler Main] Starting
INFO   paperwork.frontend.util.jobs   [Scheduler Progress] Started
INFO   paperwork.frontend.util.actions Action: [Refresh index]
INFO   paperwork.frontend.util.jobs   [Scheduler Main] Started
INFO   paperwork.backend.docsearch    Opening index dir '/home/beat/.local/share/paperwork/index' ...
INFO   paperwork.backend.docsearch    Opening label_estimators file '/home/beat/.local/share/paperwork/label_estimators/label_estimators.jbl' ...
INFO   paperwork.frontend.mainwindow  Document examen finished. Updating index ...
INFO   paperwork.frontend.mainwindow  New document: 0
INFO   paperwork.frontend.mainwindow  Updated document: 0
INFO   paperwork.frontend.mainwindow  Deleted document: 0
INFO   paperwork.frontend.mainwindow  No changes
INFO   paperwork.frontend.util.progressivelist List 'documents' : 3 elements displayed (3 additionnal)
INFO   paperwork.frontend.util.actions Action: [Open settings dialog]
INFO   root                           UI file used: src/paperwork/frontend/settingswindow/settingswindow.glade
ERROR  paperwork.frontend.settingswindow Warning: Long name not found for language 'equ'.
WARNING paperwork.frontend.settingswindow   Will use short name as long name.
ERROR  paperwork.frontend.settingswindow Warning: Long name not found for language 'osd'.
WARNING paperwork.frontend.settingswindow   Will use short name as long name.

(paperwork:5469): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed
/usr/lib/python2.7/dist-packages/gi/types.py:113: Warning: g_object_set_property: assertion `G_IS_VALUE (value)' failed
  return info.invoke(*args, **kwargs)
/usr/lib/python2.7/dist-packages/gi/types.py:113: Warning: g_value_unset: assertion `G_IS_VALUE (value)' failed
  return info.invoke(*args, **kwargs)

(paperwork:5469): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:5469): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:5469): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed
INFO   paperwork.frontend.util.jobs   [Scheduler progress] Starting
INFO   paperwork.frontend.util.jobs   [Scheduler progress] Started
INFO   paperwork.frontend.settingswindow Looking for scan devices ...

(paperwork:5469): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:5469): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:5469): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:5469): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:5469): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:5469): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:5469): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:5469): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed
INFO   paperwork.frontend.settingswindow Device found: [Epson RX420] -> [epson2:libusb:001:108]
WARNING paperwork.frontend.util.jobs   Job DeviceFinder:0 took 2619ms and is unstoppable ! (maximum allowed: 500ms)
INFO   paperwork.frontend.settingswindow Got value [['Epson RX420', 'epson2:libusb:001:108']]
INFO   paperwork.frontend.settingswindow Select scanner: 0
INFO   paperwork.frontend.settingswindow Looking for resolution of device [epson2:libusb:001:108]
/usr/lib/python2.7/dist-packages/gi/types.py:113: Warning: unable to set property `sensitive' of type `gboolean' from value of type `gchararray'
  return info.invoke(*args, **kwargs)
/usr/lib/python2.7/dist-packages/gi/types.py:113: Warning: unable to set property `xpad' of type `guint' from value of type `gchararray'
  return info.invoke(*args, **kwargs)
INFO   paperwork.frontend.settingswindow Resolutions found: [100, 300, 600, 1200]
INFO   paperwork.frontend.settingswindow Got value [['100', 100]]
INFO   paperwork.frontend.settingswindow Got value [['300 (recommended)', 300]]
INFO   paperwork.frontend.settingswindow Got value [['600', 600]]
INFO   paperwork.frontend.settingswindow Got value [['1200', 1200]]
INFO   paperwork.backend.config       Writing /home/beat/.config/paperwork.conf ... 
INFO   paperwork.backend.config       Done
INFO   paperwork.frontend.settingswindow Settings window destroyed
INFO   paperwork.frontend.util.jobs   [Scheduler progress] Stopping
INFO   paperwork.frontend.util.jobs   [Scheduler progress] Stopped
INFO   paperwork.frontend.util.actions Action: [Open settings dialog]
INFO   root                           UI file used: src/paperwork/frontend/settingswindow/settingswindow.glade
ERROR  paperwork.frontend.settingswindow Warning: Long name not found for language 'equ'.
WARNING paperwork.frontend.settingswindow   Will use short name as long name.
ERROR  paperwork.frontend.settingswindow Warning: Long name not found for language 'osd'.
WARNING paperwork.frontend.settingswindow   Will use short name as long name.

(paperwork:5469): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:5469): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:5469): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:5469): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed
INFO   paperwork.frontend.util.jobs   [Scheduler progress] Starting
INFO   paperwork.frontend.util.jobs   [Scheduler progress] Started
INFO   paperwork.frontend.settingswindow Looking for scan devices ...

(paperwork:5469): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:5469): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:5469): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:5469): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:5469): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed

(paperwork:5469): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `column < priv->n_columns' failed
WARNING: gnome-keyring:: C_Initialize called twice for same process
WARNING paperwork.frontend.util.jobs   Job DeviceFinder:0 took 2502ms and is unstoppable ! (maximum allowed: 500ms)
INFO   paperwork.frontend.settingswindow Settings window destroyed
INFO   paperwork.frontend.util.jobs   [Scheduler progress] Stopping
INFO   paperwork.frontend.util.jobs   [Scheduler progress] Stopped
INFO   paperwork.frontend.util.actions Action: [Scan a single page]
Segmentation fault (core dumped)

@jflesch jflesch reopened this Aug 22, 2013
@jflesch
Copy link
Member

jflesch commented Aug 22, 2013

Fixed by f63bc3a

@jflesch jflesch closed this as completed Aug 22, 2013
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants