Andreas Dick wrote:
> could this not be a source of confuse? if a missing file is not an error, but 
> a feature? what about if I write the file name wrong, will I find out the 
> problem anymore?

Yes, see below.

> I would prefer a None or an empty filename...

The wiki says that for Linux games create an empty file.
http://doc.freevo.org/GamesConfig#head-c20066cd58b43b24c1ade7ea73ecd339a0d5b381

> Am Donnerstag, 20. Dezember 2007 21:03 schrieb Jonathan Isom:
>> On Dec 20, 2007 1:52 PM, Duncan Webb <[EMAIL PROTECTED]> wrote:
>>> Evan Hisey wrote:
>>>> Duncan-
>>>>   I had an idea about how to handle the generic game option. My python
>>>> is not good enough to yet to handle the changes but I will outline the
>>>> idea for you.
>>>>
>>>>  With line 73 uncommented the following works
>>>> GAMES_ITEMS = [
>>>>  ('NINTENDO', '/mnt/anime/NES',
>>>>  ('GENERIC','/usr/bin/tuxnes','-1/dev/input/j0 -2/dev/input/j1
>>>>  -u -rsdl','',[ 'NES','nes']))
>>>>  ]
>>>>
>>>> But the following does not.
>>>> GAMES_ITEMS = [
>>>>      ('Kasteroids', '/etc/freevo/games/',
>>>>                  ('GENERIC', '/usr/bin/kasteroids', '', '', ['kas']))
>>>>  ]
>>>>
>>>> The problem is that the current generic.py passes the game selection
>>>> to the play command and to do this requires a game file. I think a
>>>> better solution would look to work like this:
>>>> GAMES_ITEMS = [
>>>>      ('Kasteroids', '',('GENERIC', '/usr/bin/kasteroids', '', '',
>>>> None)) ]
>>>> This way when genericitem.py is called it checks the the Suffix to see
>>>> if it is needed or not. If the suffix is None then run the cmd+args
>>>> instead of getting a file list. If I understand the _init_.py call to
>>>> genericitem.py correct, it's default action is to call util.py and run
>>>> a search to create a menu list of "games" to run.  If instead it
>>>> checked for a suffix it will know if it should just run the cmd+args
>>>> or do a listing. I have started looking at the code and it seems like
>>>> it needs to be added to the games/_init_.py but I am not sure it may
>>>> need to be added to game.py or genericitem.py
>>>>
>>>> Evan
>>>>
>>>> P.S> I am going to have make better dev setup for this one :(
>>> The solution may be very simple, if the size of the file is bigger than
>>> 0 bytes then append the file.
>>>
>>> Index: src/games/genericitem.py
>>> ===================================================================
>>> --- src/games/genericitem.py    (revision 10218)
>>> +++ src/games/genericitem.py    (working copy)
>>> @@ -60,9 +60,7 @@
>>>          self.name = os.path.splitext(os.path.basename(file))[0]
>>>
>>>          # find image for this file
>>> -        # find image for this file
>>> -        shot = imgpath + '/' + \
>>> -               os.path.splitext(os.path.basename(file))[0] + ".png"
>>> +        shot = imgpath + '/' +
>>> os.path.splitext(os.path.basename(file))[0] + ".png"
>>>          if os.path.isfile(shot):
>>>              self.image = shot
>>>          elif os.path.isfile(os.path.splitext(file)[0] + ".png"):
>>> @@ -70,7 +68,8 @@
>>>
>>>          command = ['--prio=%s' % config.GAMES_NICE, cmd]
>>>          command.extend(args.split())
>>> -        #command.append(file)
>>> +        if os.path.getsize(file) > 0:
>>> +            command.append(file)
>>>
>>>          self.command = command
>>>
>>>
>>> Duncan
>> or if the file exists would work as well

This won't work, I tried it, the reason is that the file needs to exist
for the games module to call generic item.

The only problem that I see with this solution is if a games needs the
file argument even if it is empty.

The "None" solution would be best but this means fixing
games/__init__.py and games/genericitem.py, the file is tightly bound
between the two modules and would mean a redesign of genericitem.

Duncan


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Freevo-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-users

Reply via email to