ubuntuusers.de

gImageReader

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels gImageReader.

Heinrich_Schwietering Team-Icon

Wikiteam
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11337

Wohnort: Bremen

Hi!

Kleiner Artikel zu Baustelle/gImageReader, über den ich gestern gestolpert bin. Geht das Scannen anderweitig? Werde auch noch mal andere Versionen testen...

Hinweise, Anmerkungen, Ergänzungen etc. pp. wie immer willkommen ☺

so long
hank

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11337

Wohnort: Bremen

Hi!

Hab' den Oneiric-Tag wieder rausgeschmissen, zu viele Probleme. Ansonsten wäre ich fertig; wenn ich es für Natty oder Oneiric noch hinbekomme, kann ich es ja noch nachtragen. Der Entwickler wusste auch nicht, warum es nicht läuft; bei ihm liefe es unter VM und Oneiric... Er arbeitet gerade an einer GTK3-Version, es besteht also Hoffnung 😉

so long
hank

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11337

Wohnort: Bremen

Hi!

Wenn niemand Einwände hat, verschieb ich das dann demnächst...

solong
hank

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

sieht gut aus.

Bzgl. der Fehlermeldung: Die besagt, dass das Programm nicht mehr auf den Scanner zugreifen kann. Was schon sehr komisch ist, wenn der ersten Scan funktioniert... weil die internen Nummer, die der Linux-Kernel dem Device zuordnet, ändert sich ja normalerweise nicht...

Gruß, noisefloor

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11337

Wohnort: Bremen

Hi!

noisefloor schrieb:

sieht gut aus.

Danke!

Bzgl. der Fehlermeldung: Die besagt, dass das Programm nicht mehr auf den Scanner zugreifen kann. Was schon sehr komisch ist, wenn der ersten Scan funktioniert... weil die internen Nummer, die der Linux-Kernel dem Device zuordnet, ändert sich ja normalerweise nicht...

Ja, der Entwickler konnte sich das auch nicht erklären... Du als python-Spezialist könntest mir vielleicht erklären, wo und wie ich in der acquire.py-Datei print-Messages zum Debuggen einbauen könnte; er meinte, in der "saneAPI class" sollte das sein. Er schrieb

Did you try adding a print message in the body of each function of the SaneAPI class?

Leider versteh ich zu wenig (um nicht zu sagen: gar kein 😉) python, um das umsetzen zu können.

Der vermutlich gemeinte Teil des Codes ist dieser:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
class SaneAPI:
	def __init__(self):
		sane.init()
		self.devices=None
		self.device=None
		self.img=None
	
	def get_devices(self):
		""" Returns a list of devices. """
		self.devices=sane.get_devices()
		return [device[2] for device in self.devices]
	
	def open_device(self, idx):
		""" Attempts to load the specified device. """
		try:
			self.device=sane.open(self.devices[idx][0])
			return (True, None)
		except sane._sane.error, e:
			return (False, "%s:\n%s"%(_("Failed to open the selected device"), e))
	
	def close_device(self):
		""" Closes the current device. """
		if self.device!=None:
			self.device.close()
			self.device=None
	
	def scan(self, output, resolution, mode):
		""" Acquires an image from the current device with specified resolution and mode. """
		self.device.resolution=resolution
		self.device.mode=mode
		try:
			img=self.device.scan()
		except sane._sane.error, e:
			return (False, "%s:\n%s"%(_("Failed to retreive data"), e))
		try:
			img.save(output)
		except Exception, e:
			return (False, "%s:\n%s"%(_("Failed to save image"), e))
		return (True, None)
		
	def cancel_scan(self):
		""" Cancels the scan. """
		self.device.cancel()

nur weiß ich nicht, wo und wie ich da was einbauen könnte...

so long
hank

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

na ja, also so der Python-Profi bin ich auch nicht. Jedenfalls ist der originäre Fehler in der Datei sane.py. Der Auslöser ist immer die letzte Meldung im Stack-Trace (also der im Artikel erwähnten Fehlermeldung). Ob das jetzt aber ein Problem von sane.py ist, ein Problem von sane.py aus den Ubuntu-Quellen oder ein Fehler im Zusammenspiel von python-sane - keine Ahnung.

Außerdem sind Threads im Spiel - könnte theoretisch also auch eine Race-Condtion sein.

Gruß, noisefloor

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11337

Wohnort: Bremen

Hi!

Also, der Entwickler meinte zu der Meldung:

Uhm, right so it bascially fails to open the device for some reason. This somehow looks like a bug in python-imaging-sane in conjunction with your scanner, since from the API of python-imaging-sane, there is not much else I can do to open a device :S And the whole traceback is merely because he doesn't like the way I catch the open failed exception - should fix that.

Hilft mir aber nicht so recht weiter... Muss ich wohl mal im Programmierungs-Forum nachfragen...

so long
hnak

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11337

Wohnort: Bremen

Hi!

Habs verschoben: gImageReader

Ich hoffe, ich bekomme das auch unter Natty/Oneiric noch hin.

so long
hank

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11337

Wohnort: Bremen

Hi!

@ frustschieber Unter Lucid läuft das ganze tatsächlich so wie gewünscht; die Probleme tauchen erst ab Maverick auf; danach geht momentan die Scanfunktion gar nicht, werde das unter Precise demnächst nochmal ausprobieren.

so long
hank

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11337

Wohnort: Bremen

Hi!

Unter precise passiert auf meinem 64-bit-System das selbe wie schon unter maverick: Der erste Scan funktioniert, danach startet der Scanner nicht mehr 😢

so long
hank

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11337

Wohnort: Bremen

Hi!"

@ aasche

läuft das bei dir unter Precise vernünftig?

so long
hank

aasche

Anmeldungsdatum:
30. Januar 2006

Beiträge: 14259

Heinrich Schwietering schrieb:

läuft das bei dir unter Precise vernünftig?

Prinzipiell ja - teste ich am Wochenende nochmal ausfuehrlich.

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11337

Wohnort: Bremen

Hi!

Ich hab' mein Problem unter meinem 64-bit-System noch mal unter den Problemen eingefügt. Das Programm an sich läuft, die Scan-Funktion streikt beim zweiten Scan...

so long
hank

aasche

Anmeldungsdatum:
30. Januar 2006

Beiträge: 14259

Heinrich Schwietering schrieb:

Das Programm an sich läuft, die Scan-Funktion streikt beim zweiten Scan...

Mein Wochenende hat mehr Termine als geplant... Zum beschriebenen Fehler: unter Lubuntu 12.04 32-Bit nicht nachvollziehbar - mehrere Scans sind problemlos moeglich. Damit wird der Fehler entweder durch die 64-Bit Version oder durch den verwendeten Scanner verursacht.

Heinrich_Schwietering Team-Icon

Wikiteam
(Themenstarter)
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11337

Wohnort: Bremen

Hi!

Hab es gerade noch mal unter 32-bit-Precise versucht, mit dem selben Ergebnis. Dann muss es wohl an meinem Scanner liegen;: merkwürdig finde ich nur, dass es unter Lucid einwandfrei ging, mit dem selben Scanner...

so long
hank

Antworten |