i-have-a-dreambox.com | Dreambox - Support

Register Calendar Members List Team Members Galerie to Portal Go to the Main Page

Boardrules Frequently Asked Questions Statistik Statistik Search Pinwand Dreambox Blog Ihad/Gemini Fan-Shop
i-have-a-dreambox.com | Dreambox - Support » ...::: Dreambox Software :::... » Bastelstube » Box hängt - kein Log » Hello Guest [Login|Register]
Last Post | First Unread Post Print Page | Add Thread to Favorites
Post New Thread Post Reply
Go to the bottom of this page Box hängt - kein Log
Author
Post « Previous Thread | Next Thread »
shadowrider
unregistered
Box hängt - kein Log Reply to this Post Post Reply with Quote Edit/Delete Posts Report Post to a Moderator       Go to the top of this page

wenn ich folgende Abfrage über ein Hauptverzeichnis (z.B. /autofs/) laufen lasse, hängt die Box in einer Schleife, ohne Fehlerlog bin ich hilflos - hat wer ne Idee?
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
			while len(directories)>0:
				directory = directories.pop()
				try:

					for name in os.listdir(directory):
						fullpath = os.path.join(directory,name)
						if os.path.isfile(fullpath):
							if fnmatch.fnmatch(name.lower(),Suchstring):
								if any(x in name for x in self.eEndung):
									Dateiliste.append(( name, fullpath ))
							else:
								pass

						elif os.path.isdir(fullpath):
							if fnmatch.fnmatch((fullpath.lower()),Suchstring):
								dira = 	( os.path.split(fullpath)[-1] )
								Findliste.append((dira, fullpath))
							directories.append(fullpath)  # It's a directory, store it.
				except:
					pass


ich vermute, das es an Berechtigungen liegt oder an Verzeichnissen, die zwar im Dir stehen aber gar nicht da sind (USB), wie lässt sich das abfangen?
06.04.2009 23:39
gutemine
unregistered
Reply to this Post Post Reply with Quote Edit/Delete Posts Report Post to a Moderator       Go to the top of this page

da hilft wohl nur ein os.path.exists vor jedem zugriff oder gleich noch ein listdir aufs subdirectory :-(

Wobei das problem ist das os.listdir vom /autofs kein zugriff auf die zu mountenden unter directories selbst ist, womit der autofs mechanism ins leere geht das gemountet wird wenn du auf ein directory zugreifst.

Das os.path.exists sollte dann aber zugreifen, und dann auch True sein, womit dann der nächste befehl auch klappen könnte

Autofs ist was das angeht einfach ein bischen mühsam.

LG
gutemine

This post has been edited 2 time(s), it was last edited by gutemine: 07.04.2009 00:53.

07.04.2009 00:46
shadowrider
unregistered
Reply to this Post Post Reply with Quote Edit/Delete Posts Report Post to a Moderator       Go to the top of this page

ich danke dir, habe die ganze Sache mal zeilenweise in eine Datei schreiben lassen und bemerkt, das auch noch die links abgefragt werden - deshalb hatte die Box so ewig zu tun. Jetzt funzt es wie es soll:
code:
1:
2:
3:
4:
5:
6:
7:
8:
elif os.path.isdir(fullpath) and os.path.exists(fullpath):
	if os.path.islink(fullpath):
		pass
	else:
		if fnmatch.fnmatch((fullpath.lower()),Suchstring):
			dira = 	( os.path.split(fullpath)[-1] )
			Findliste.append((dira, fullpath))
			directories.append(fullpath)  


vielleicht geht es auch eleganter?
07.04.2009 10:33
gutemine
unregistered
Reply to this Post Post Reply with Quote Edit/Delete Posts Report Post to a Moderator       Go to the top of this page

für eleganten code bin ich nicht zuständig .-)
07.04.2009 17:08
Tree Structure | Board Structure
Jump to:
Post New Thread Post Reply
i-have-a-dreambox.com | Dreambox - Support » ...::: Dreambox Software :::... » Bastelstube » Box hängt - kein Log

Privacy policy | Team | Suchen | Hilfe


Powered by Burning Board 2.3.6 © 2001-2003 WoltLab GbR