Author: duncan
Date: Fri Jun 8 17:15:32 2007
New Revision: 9672
Modified:
branches/rel-1/freevo/share/skins/main/basic.fxd
branches/rel-1/freevo/share/skins/main/bluestar.fxd
branches/rel-1/freevo/share/skins/main/blurr.fxd
branches/rel-1/freevo/share/skins/main/crystal.fxd
branches/rel-1/freevo/share/skins/main/dark.fxd
branches/rel-1/freevo/share/skins/main/info.fxd
branches/rel-1/freevo/share/skins/main/mediaportal.fxd
branches/rel-1/freevo/share/skins/main/noia.fxd
branches/rel-1/freevo/share/skins/main/rain.fxd
branches/rel-1/freevo/src/gui/Window.py
branches/rel-1/freevo/src/skin.py
branches/rel-1/freevo/src/skins/main/area.py
branches/rel-1/freevo/src/skins/main/listing_area.py
branches/rel-1/freevo/src/skins/main/tvlisting_area.py
branches/rel-1/freevo/src/skins/main/xml_skin.py
Log:
Reversed patch as it doesn't work without the buttonbar plugin
Modified: branches/rel-1/freevo/share/skins/main/basic.fxd
==============================================================================
--- branches/rel-1/freevo/share/skins/main/basic.fxd (original)
+++ branches/rel-1/freevo/share/skins/main/basic.fxd Fri Jun 8 17:15:32 2007
@@ -90,7 +90,7 @@
<view layout="view" x="580" y="110" width="200" height="300"/>
<!-- 4. listing area: the list of all items -->
- <listing layout="listing" x="50" y="110" width="510" height="470 -
(buttonbar * (buttonbar_height + 10))">
+ <listing layout="listing" x="50" y="110" width="510" height="470">
<image x="10" y="110" width="32" height="32" label="uparrow"
filename="up.png"/>
<image x="10" y="max-32" width="32" height="32"
label="downarrow"
@@ -111,7 +111,7 @@
<!-- default description: make listing area smaller, show info area -->
<menuset label="default description" inherits="normal text style">
<listing height="370"/>
- <info visible="yes" layout="info" x="10" y="490 - (buttonbar *
(buttonbar_height + 10))" height="100" width="780"/>
+ <info visible="yes" layout="info" x="10" y="490" height="100"
width="780"/>
</menuset>
<!-- default description no image: mix between the two above -->
@@ -472,12 +472,12 @@
<image width="16" height="16" label="leftarrow"
filename="left.png"/>
<image width="16" height="16" label="rightarrow"
filename="right.png"/>
</listing>
- <info layout="tv info" x="10" y="400" width="780" height="190 -
buttonbar_height"/>
+ <info layout="tv info" x="10" y="400" width="780" height="190"/>
</menuset>
<menuset label="tv submenu" inherits="default description no image">
<screen layout="screen" visible="yes"/>
- <listing x="10" y="390" height="200 - buttonbar_height">
+ <listing x="10" y="390" height="200">
<image x="750" y="390" label="uparrow"/>
<image x="750" label="downarrow"/>
</listing>
@@ -816,20 +816,7 @@
width="780" height="80"/>
<info layout="info" x="10" y="110" width="780" height="480"/>
</headlines>
- <!--
- *******************************************************
- ** Button Bar TVGuide Info
- ******************************************************* -->
-
- <tvguideinfo>
- <screen layout="screen" x="0" y="0" width="800" height="600"/>
- <title layout="tvguideinfo title" x="10" y="70" width="780"
height="80"/>
- <info layout="info" x="10" y="130" width="780" height="460"/>
- </tvguideinfo>
-
- <layout label="tvguideinfo title">
- <content x="0" y="0" type="menu" font="title area" align="left"
valign="center"/>
- </layout>
+
</skin>
</freevo>
<!-- Keep this comment at the end of the file
Modified: branches/rel-1/freevo/share/skins/main/bluestar.fxd
==============================================================================
--- branches/rel-1/freevo/share/skins/main/bluestar.fxd (original)
+++ branches/rel-1/freevo/share/skins/main/bluestar.fxd Fri Jun 8 17:15:32 2007
@@ -140,13 +140,13 @@
<!-- default description: make listing area smaller, show info area -->
<menuset label="default description">
<listing height="340"/>
- <info x="40" y="460" width="750" height="120 - buttonbar_height" />
+ <info x="40" y="460" width="750" height="120" />
</menuset>
<!-- default description no image: mix between the two above -->
<menuset label="default description no image">
<listing height="340"/>
- <info x="40" y="460" width="750" height="120 - buttonbar_height" />
+ <info x="40" y="460" width="750" height="120" />
</menuset>
<!-- special settings for audio. The default style is an image based style
-->
@@ -184,13 +184,13 @@
<menuset label="video details" inherits="normal text style">
<subtitle layout="subtitle" x="10" y="100" width="780" height="60"/>
- <listing layout="video list" x="500" y="450" width="290" height="140-
buttonbar_height">
+ <listing layout="video list" x="500" y="450" width="290" height="140">
<image label="uparrow" filename=""/>
<image label="downarrow" filename=""/>
</listing>
<view x="545" y="150"/>
- <info layout="video info" x="10" y="160" width="480" height="430-
buttonbar_height"/>
+ <info layout="video info" x="10" y="160" width="480" height="430"/>
</menuset>
@@ -265,7 +265,7 @@
<listing y="140">
<image y="140" label="uparrow"/>
</listing>
- <info layout="tv info" y="440" height="150 - buttonbar_height"/>
+ <info layout="tv info" y="440" height="150"/>
</menuset>
<layout label="tv screen">
@@ -281,7 +281,7 @@
<listing y="140">
<image y="140" label="uparrow"/>
</listing>
- <info layout="tv info" y="290" height="290 - buttonbar_height"/>
+ <info layout="tv info" y="290" height="290"/>
</menuset>
<!-- tv info area -->
Modified: branches/rel-1/freevo/share/skins/main/blurr.fxd
==============================================================================
--- branches/rel-1/freevo/share/skins/main/blurr.fxd (original)
+++ branches/rel-1/freevo/share/skins/main/blurr.fxd Fri Jun 8 17:15:32 2007
@@ -30,7 +30,7 @@
<!-- default with description and image -->
<menuset label="default description" inherits="normal text style">
<listing height="350"/>
- <info layout="description" visible="yes" x="20" y="460"
width="760" height="130 - buttonbar_height"/>
+ <info layout="description" visible="yes" x="20" y="460"
width="760" height="130"/>
</menuset>
<!-- default with description without an image -->
@@ -99,7 +99,7 @@
<!-- 4. listing area: the list of all items -->
<screen layout="video screen" visible="yes"/>
<view layout="view" x="10" y="90" width="280" height="250"
align="left"/>
- <listing x="30" y="350" width="710" height="230 -
buttonbar_height">
+ <listing x="30" y="350" width="710" height="230">
<image filename="up.png" label="uparrow" x="750" y="350"/>
<image filename="down.png" label="downarrow" x="750"
y="max-32"/>
</listing>
@@ -241,7 +241,7 @@
<menuset label="audio" inherits="normal text style">
<screen layout="audio screen"/>
<view layout="view" x="15" y="90" width="280" height="270"/>
- <info layout="audio info" x="28" y="370" width="273" height="190 -
buttonbar_height"/>
+ <info layout="audio info" x="28" y="370" width="273" height="190"/>
</menuset>
<layout label="audio screen">
@@ -250,7 +250,7 @@
<image filename="gant/music.png" x="435" y="230" width="370"
height="380"/>
<rectangle size="0" bgcolor="0x80000000" radius="10" x="12"
y="87"
- width="290" height="475 - (buttonbar_height/2)"/>
+ width="290" height="475"/>
</background>
</layout>
@@ -357,8 +357,8 @@
<menuset label="image" inherits="normal text style">
<screen layout="image screen"/>
- <listing y="80" x="60"
height="430-(buttonbar*(buttonbar_height+10))" width="700" layout="image list"/>
- <info layout="image info" x="10"
y="510-(buttonbar*(buttonbar_height-10))" width="780" height="80"/>
+ <listing y="80" x="60" height="430" width="700" layout="image
list"/>
+ <info layout="image info" x="10" y="510" width="780" height="80"/>
<view visible="no"/>
</menuset>
@@ -525,7 +525,7 @@
<screen layout="screen" x="0" y="0" width="800" height="600"/>
<title visible="no"/>
<info layout="tv info" x="10" y="80" width="760" height="115"/>
- <listing layout="tv listing" x="10" y="220" width="750"
height="350-(buttonbar*(buttonbar_height-30))">
+ <listing layout="tv listing" x="10" y="220" width="750"
height="350">
<image x="765" y="220" width="32" height="32" label="uparrow"
filename="up.png"/>
<image x="765" y="max-32" width="32" height="32"
label="downarrow"
Modified: branches/rel-1/freevo/share/skins/main/crystal.fxd
==============================================================================
--- branches/rel-1/freevo/share/skins/main/crystal.fxd (original)
+++ branches/rel-1/freevo/share/skins/main/crystal.fxd Fri Jun 8 17:15:32 2007
@@ -120,13 +120,13 @@
<!-- default description: make listing area smaller, show info area -->
<menuset label="default description">
<listing height="340"/>
- <info x="40" y="460" width="750" height="120-buttonbar_height" />
+ <info x="40" y="460" width="750" height="120" />
</menuset>
<!-- default description no image: mix between the two above -->
<menuset label="default description no image">
<listing height="340"/>
- <info x="40" y="460" width="750" height="120-buttonbar_height" />
+ <info x="40" y="460" width="750" height="120" />
</menuset>
<!-- special settings for audio. The default style is an image based style
-->
@@ -164,13 +164,13 @@
<menuset label="video details" inherits="normal text style">
<subtitle layout="subtitle" x="10" y="100" width="780" height="60"/>
- <listing layout="video list" x="500" y="450" width="290"
height="140-buttonbar_height">
+ <listing layout="video list" x="500" y="450" width="290" height="140">
<image label="uparrow" filename=""/>
<image label="downarrow" filename=""/>
</listing>
<view x="545" y="150"/>
- <info layout="video info" x="10" y="160" width="480"
height="430-buttonbar_height"/>
+ <info layout="video info" x="10" y="160" width="480" height="430"/>
</menuset>
@@ -245,7 +245,7 @@
<listing y="140">
<image y="140" label="uparrow"/>
</listing>
- <info layout="tv info" y="440" height="150-buttonbar_height"/>
+ <info layout="tv info" y="440" height="150"/>
</menuset>
<layout label="tv screen">
@@ -261,7 +261,7 @@
<listing y="140">
<image y="140" label="uparrow"/>
</listing>
- <info layout="tv info" y="290" height="290-buttonbar_height"/>
+ <info layout="tv info" y="290" height="290"/>
</menuset>
<!-- tv info area -->
Modified: branches/rel-1/freevo/share/skins/main/dark.fxd
==============================================================================
--- branches/rel-1/freevo/share/skins/main/dark.fxd (original)
+++ branches/rel-1/freevo/share/skins/main/dark.fxd Fri Jun 8 17:15:32 2007
@@ -209,7 +209,7 @@
<!-- video ************************** -->
<menuset label="video default" inherits="default textual">
- <info visible="yes" layout="video info" x="30" y="470" width="780"
height="150-"/>
+ <info visible="yes" layout="video info" x="30" y="470" width="780"
height="150"/>
</menuset>
<!-- MODE 0 -->
@@ -230,7 +230,7 @@
<!-- audio **************************** -->
<menuset label="audio default" inherits="default textual">
- <info visible="yes" layout="audio info" x="30" y="470" width="780"
height="130-buttonbar_height"/>
+ <info visible="yes" layout="audio info" x="30" y="470" width="780"
height="150"/>
</menuset>
<!-- MODE 0 -->
@@ -251,7 +251,7 @@
<!-- image **************************** -->
<menuset label="image default" inherits="default textual">
- <info visible="yes" layout="image info" x="30" y="470" width="780"
height="130-buttonbar_height"/>
+ <info visible="yes" layout="image info" x="30" y="470" width="780"
height="150"/>
</menuset>
<!-- MODE 0 -->
@@ -272,7 +272,7 @@
<!-- mail ***************************** -->
<menuset label="mail default" inherits="default textual">
- <info visible="yes" layout="mail info" x="30" y="470" width="780"
height="130-buttonbar_height"/>
+ <info visible="yes" layout="mail info" x="30" y="470" width="780"
height="150"/>
</menuset>
<menuset label="mail textual" inherits="mail default">
Modified: branches/rel-1/freevo/share/skins/main/info.fxd
==============================================================================
--- branches/rel-1/freevo/share/skins/main/info.fxd (original)
+++ branches/rel-1/freevo/share/skins/main/info.fxd Fri Jun 8 17:15:32 2007
@@ -60,13 +60,13 @@
<!-- default description: make listing area smaller, show info area -->
<menuset label="default description">
<listing height="340"/>
- <info x="40" y="460" width="750" height="120-buttonbar_height" />
+ <info x="40" y="460" width="750" height="120" />
</menuset>
<!-- default description no image: mix between the two above -->
<menuset label="default description no image">
<listing height="340"/>
- <info x="40" y="460" width="750" height="120-buttonbar_height" />
+ <info x="40" y="460" width="750" height="120" />
</menuset>
<!-- special settings for audio. The default style is an image based style
-->
@@ -103,13 +103,13 @@
<menuset label="video details" inherits="normal text style">
<subtitle layout="subtitle" x="10" y="100" width="780" height="60"/>
- <listing layout="video list" x="500" y="450" width="290"
height="140-buttonbar_height">
+ <listing layout="video list" x="500" y="450" width="290" height="140">
<image label="uparrow" filename=""/>
<image label="downarrow" filename=""/>
</listing>
<view x="545" y="150"/>
- <info layout="video info" x="10" y="160" width="480"
height="430-buttonbar_height"/>
+ <info layout="video info" x="10" y="160" width="480" height="430"/>
</menuset>
Modified: branches/rel-1/freevo/share/skins/main/mediaportal.fxd
==============================================================================
--- branches/rel-1/freevo/share/skins/main/mediaportal.fxd (original)
+++ branches/rel-1/freevo/share/skins/main/mediaportal.fxd Fri Jun 8
17:15:32 2007
@@ -101,7 +101,7 @@
<!-- 4. listing area: the list of all items -->
<screen layout="video screen" visible="yes"/>
<view layout="view" x="10" y="90" width="280" height="250"
align="left"/>
- <listing x="30" y="350" width="710"
height="230-(buttonbar*(buttonbar_height-10))">
+ <listing x="30" y="350" width="710" height="230">
<image filename="up.png" label="uparrow" x="750" y="350"/>
<image filename="down.png" label="downarrow" x="750"
y="max-32"/>
</listing>
@@ -243,7 +243,7 @@
<menuset label="audio" inherits="normal text style">
<screen layout="audio screen"/>
<view layout="view" x="15" y="90" width="280" height="300"/>
- <info layout="audio info" x="28" y="370" width="273"
height="190-(buttonbar*(buttonbar_height-30))"/>
+ <info layout="audio info" x="28" y="370" width="273" height="190"/>
</menuset>
<layout label="audio screen">
@@ -350,7 +350,7 @@
<menuset label="image" inherits="normal text style">
<screen layout="image screen"/>
<listing y="80" x="60" height="430" width="700" layout="image
list"/>
- <info layout="image info" x="10" y="510" width="780"
height="80-buttonbar_height"/>
+ <info layout="image info" x="10" y="510" width="780" height="80"/>
<view visible="no"/>
</menuset>
@@ -519,7 +519,7 @@
<screen layout="screen" x="0" y="0" width="800" height="600"/>
<title visible="no"/>
<info layout="tv info" x="10" y="80" width="760" height="115"/>
- <listing layout="tv listing" x="10" y="220" width="750"
height="350-(buttonbar*(buttonbar_height-20))">
+ <listing layout="tv listing" x="10" y="220" width="750"
height="350">
<image x="765" y="220" width="33" height="17" label="uparrow"
filename="tv_up.png"/>
<image x="765" y="max-32" width="33" height="17"
label="downarrow"
Modified: branches/rel-1/freevo/share/skins/main/noia.fxd
==============================================================================
--- branches/rel-1/freevo/share/skins/main/noia.fxd (original)
+++ branches/rel-1/freevo/share/skins/main/noia.fxd Fri Jun 8 17:15:32 2007
@@ -76,7 +76,7 @@
<listing y="140">
<image y="140" label="uparrow"/>
</listing>
- <info layout="tv info" y="440" height="150-buttonbar_height"/>
+ <info layout="tv info" y="440" height="150"/>
</menuset>
<menuset label="tv menu more info">
@@ -84,7 +84,7 @@
<listing y="140">
<image y="140" label="uparrow"/>
</listing>
- <info layout="tv info" y="290"
height="290-(buttonbar*(buttonbar_height-10))"/>
+ <info layout="tv info" y="290" height="290"/>
</menuset>
<!-- tv info area -->
Modified: branches/rel-1/freevo/share/skins/main/rain.fxd
==============================================================================
--- branches/rel-1/freevo/share/skins/main/rain.fxd (original)
+++ branches/rel-1/freevo/share/skins/main/rain.fxd Fri Jun 8 17:15:32 2007
@@ -128,13 +128,13 @@
<!-- default description: make listing area smaller, show info area -->
<menuset label="default description">
<listing height="340"/>
- <info x="40" y="460" width="750"
height="120-(buttonbar*(buttonbar_height-10))" />
+ <info x="40" y="460" width="750" height="120" />
</menuset>
<!-- default description no image: mix between the two above -->
<menuset label="default description no image">
<listing height="340"/>
- <info x="40" y="460" width="750"
height="120-(buttonbar*(buttonbar_height-10))" />
+ <info x="40" y="460" width="750" height="120" />
</menuset>
<!-- special settings for audio. The default style is an image based style
-->
@@ -178,7 +178,7 @@
</listing>
<view x="545" y="150"/>
- <info layout="video info" x="10" y="160" width="480"
height="430-buttonbar_height"/>
+ <info layout="video info" x="10" y="160" width="480" height="430"/>
</menuset>
@@ -266,7 +266,7 @@
<listing y="140">
<image y="140" label="uparrow"/>
</listing>
- <info layout="tv info" y="290"
height="290-(buttonbar*(buttonbar_height-10))"/>
+ <info layout="tv info" y="290" height="290"/>
</menuset>
<!-- tv info area -->
Modified: branches/rel-1/freevo/src/gui/Window.py
==============================================================================
--- branches/rel-1/freevo/src/gui/Window.py (original)
+++ branches/rel-1/freevo/src/gui/Window.py Fri Jun 8 17:15:32 2007
@@ -34,7 +34,7 @@
from GUIObject import GUIObject, Align
from Container import Container
-from skin import eval_attr
+
class Window(GUIObject):
"""
@@ -81,8 +81,8 @@
def __init__content__(self):
x, y, width, height = self.content_layout.x, self.content_layout.y, \
self.content_layout.width,
self.content_layout.height
- width = eval_attr(str(width), self.width) or self.width
- height = eval_attr(str(height), self.height) or self.height
+ width = eval(str(width), { 'MAX': self.width }) or self.width
+ height = eval(str(height), { 'MAX': self.height }) or self.height
self.content = Container('frame', x, y, width, height,
vertical_expansion=1)
GUIObject.add_child(self, self.content)
@@ -102,8 +102,8 @@
self.height += height
width, height = self.content_layout.width, self.content_layout.height
- self.content.width = eval_attr(str(width), self.width ) or self.width
- self.content.height = eval_attr(str(height), self.height) or
self.height
+ self.content.width = eval(str(width), { 'MAX': self.width }) or
self.width
+ self.content.height = eval(str(height), { 'MAX': self.height }) or
self.height
self.left = self.osd.width/2 - self.width/2
self.top = self.osd.height/2 - self.height/2
@@ -136,8 +136,8 @@
for o in self.background_layout:
if o[0] == 'rectangle':
r = copy.deepcopy(o[1])
- r.width = eval_attr(str(r.width), self.get_size()[0])
- r.height = eval_attr(str(r.height), self.get_size()[1])
+ r.width = eval(str(r.width), { 'MAX' : self.get_size()[0] })
+ r.height = eval(str(r.height), { 'MAX' : self.get_size()[1] })
if not r.width:
r.width = self.get_size()[0]
if not r.height:
Modified: branches/rel-1/freevo/src/skin.py
==============================================================================
--- branches/rel-1/freevo/src/skin.py (original)
+++ branches/rel-1/freevo/src/skin.py Fri Jun 8 17:15:32 2007
@@ -42,7 +42,6 @@
# -----------------------------------------------------------------------
-import plugin
import config
import sys
import os.path
@@ -85,43 +84,6 @@
"""
return not _singleton.force_redraw
-def eval_attr(attr_value, max):
- """
- Returns attr_value if it is not a string or evaluates it substituting max
- for 'MAX' or 'max' in the attr_value string.
- """
- if isinstance(attr_value,str):
- global attr_global_dict
- if attr_global_dict is None:
- attr_global_dict = {}
-
- # Setup idlebar related values
- p = plugin.getbyname('idlebar')
- if p:
- attr_global_dict['idlebar'] = 1
- attr_global_dict['idlebar_height'] = 60
- else:
- attr_global_dict['idlebar'] = 0
- attr_global_dict['idlebar_height'] = 0
-
- # Setup buttonbar related values
- p = plugin.getbyname('buttonbar')
- if p:
- attr_global_dict['buttonbar'] = 1
- attr_global_dict['buttonbar_height'] = 60
- else:
- attr_global_dict['buttonbar'] = 0
- attr_global_dict['buttonbar_height'] = 0
- # Set max values
- if max is not None:
- attr_global_dict['MAX'] = max
- attr_global_dict['max'] = max
-
- return eval(attr_value, attr_global_dict)
-
- return attr_value
-
-attr_global_dict = None
if __freevo_app__ == 'main':
# init the skin
Modified: branches/rel-1/freevo/src/skins/main/area.py
==============================================================================
--- branches/rel-1/freevo/src/skins/main/area.py (original)
+++ branches/rel-1/freevo/src/skins/main/area.py Fri Jun 8 17:15:32 2007
@@ -57,7 +57,6 @@
import util
from skin_utils import *
-from skin import eval_attr
import xml_skin
import screen
@@ -367,10 +366,10 @@
font_h=0
if isinstance(object.width, str):
- object.width = int(eval_attr(object.width, self.area_val.width))
+ object.width = int(eval(object.width, {'MAX':self.area_val.width}))
if isinstance(object.height, str):
- object.height = int(eval_attr(object.height, self.area_val.height))
+ object.height = int(eval(object.height,
{'MAX':self.area_val.height}))
object.x += self.area_val.x
object.y += self.area_val.y
@@ -399,9 +398,9 @@
# get the x and y value, based on MAX
if isinstance(r.x, str):
- r.x = int(eval_attr(r.x, item_w))
+ r.x = int(eval(r.x, {'MAX':item_w}))
if isinstance(r.y, str):
- r.y = int(eval_attr(r.y, item_h))
+ r.y = int(eval(r.y, {'MAX':item_h}))
# set rect width and height to something
if not r.width:
@@ -412,10 +411,10 @@
# calc width and height based on MAX settings
if isinstance(r.width, str):
- r.width = int(eval_attr(r.width, item_w))
+ r.width = int(eval(r.width, {'MAX':item_w}))
if isinstance(r.height, str):
- r.height = int(eval_attr(r.height, item_h))
+ r.height = int(eval(r.height, {'MAX':item_h}))
# correct item_w and item_h to fit the rect
item_w = max(item_w, r.width)
Modified: branches/rel-1/freevo/src/skins/main/listing_area.py
==============================================================================
--- branches/rel-1/freevo/src/skins/main/listing_area.py (original)
+++ branches/rel-1/freevo/src/skins/main/listing_area.py Fri Jun 8
17:15:32 2007
@@ -33,7 +33,6 @@
from area import Skin_Area
from skin_utils import *
-from skin import eval_attr
import config
class Listing_Area(Skin_Area):
@@ -469,7 +468,7 @@
if menuw.menu_items[-1] != menu.choices[-1] and
area.images['downarrow']:
if isinstance(area.images['downarrow'].y, str):
v = copy.copy(area.images['downarrow'])
- v.y = eval_attr(v.y, (item_y0-vskip))
+ v.y = eval(v.y, {'MAX':(item_y0-vskip)})
else:
v = area.images['downarrow']
self.drawimage(area.images['downarrow'].filename, v)
Modified: branches/rel-1/freevo/src/skins/main/tvlisting_area.py
==============================================================================
--- branches/rel-1/freevo/src/skins/main/tvlisting_area.py (original)
+++ branches/rel-1/freevo/src/skins/main/tvlisting_area.py Fri Jun 8
17:15:32 2007
@@ -36,7 +36,7 @@
import math
from area import Skin_Area, Geometry
from skin_utils import *
-from skin import eval_attr
+
class TVListing_Area(Skin_Area):
"""
@@ -389,7 +389,7 @@
if menuw.display_down_arrow and area.images['downarrow']:
if isinstance(area.images['downarrow'].y, str):
v = copy.copy(area.images['downarrow'])
- v.y = eval_attr(v.y, y0)
+ v.y = eval(v.y, {'MAX' : y0})
else:
v = area.images['downarrow']
self.drawimage(area.images['downarrow'].filename, v)
Modified: branches/rel-1/freevo/src/skins/main/xml_skin.py
==============================================================================
--- branches/rel-1/freevo/src/skins/main/xml_skin.py (original)
+++ branches/rel-1/freevo/src/skins/main/xml_skin.py Fri Jun 8 17:15:32 2007
@@ -53,36 +53,6 @@
#
# Help functions
#
-attr_global_dict = None
-
-def eval_attr(attr_value):
- """
- Returns attr_value if it is not a string or evaluates it substituting max
- for 'MAX' or 'max' in the attr_value string.
- """
- global attr_global_dict
-
- if attr_global_dict is None:
- attr_global_dict = {}
-
- # Setup idlebar related values
- p = plugin.getbyname('idlebar')
- if p:
- attr_global_dict['idlebar'] = 1
- attr_global_dict['idlebar_height'] = 60
- else:
- attr_global_dict['idlebar'] = 0
- attr_global_dict['idlebar_height'] = 0
-
- # Setup buttonbar related values
- p = plugin.getbyname('buttonbar')
- if p:
- attr_global_dict['buttonbar'] = 1
- attr_global_dict['buttonbar_height'] = 60
- else:
- attr_global_dict['buttonbar'] = 0
- attr_global_dict['buttonbar_height'] = 0
- return eval(attr_value, attr_global_dict)
def attr_int(node, attr, default, scale=0.0):
@@ -94,12 +64,37 @@
val = node.attrs[('', attr)]
if val == 'line_height':
return -1
-
+ new_val = ''
+
+ while val:
+ ppos = val[1:].find('+') + 1
+ mpos = val[1:].find('-') + 1
+ if ppos and mpos:
+ pos = min(ppos, mpos)
+ elif ppos or mpos:
+ pos = max(ppos, mpos)
+ else:
+ pos = len(val)
+
+ try:
+ i = int(round(scale*int(val[:pos])))
+ if i < 0:
+ new_val += str(i)
+ else:
+ new_val += '+' + str(i)
+ except ValueError:
+ if val[:pos].upper() in ( '+MAX', 'MAX', '-MAX' ):
+ new_val += val[:pos].upper()
+ elif val[:pos].lower() in ( '+font_h', 'font_h', '-font_h'
):
+ new_val += val[:pos].lower()
+ else:
+ print 'WARNING: unsupported value %s' % val[:pos]
+ val = val[pos:]
+
try:
- value = eval(val)
- return int(round(scale * value))
- except:
- return 'int(round(((%s) * %f)))' % (str(val), scale)
+ return int(new_val)
+ except ValueError:
+ return str(new_val)
except ValueError:
pass
@@ -331,14 +326,6 @@
basic prepare function
"""
try:
- for c in self.content:
- if XML_types[c][0] == 'int' and isinstance(getattr(self,c),
str):
- try:
- result = eval_attr(getattr(self, c))
- setattr(self, c, result)
- except:
- pass
-
if self.visible not in ('', 'yes'):
if len(self.visible) > 4 and self.visible[:4] == 'not ':
p = plugin.getbyname(self.visible[4:])
@@ -951,8 +938,6 @@
def prepare(self):
- global attr_global_dict
- attr_global_dict = None
self.prepared = True
self.sets = copy.deepcopy(self._sets)
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog