confml/implml/hbtheme.implml
changeset 6 22214389caed
equal deleted inserted replaced
4:0765d19355bd 6:22214389caed
       
     1 <?xml version="1.0" encoding="UTF-8"?>
       
     2 <container xmlns="http://www.symbianfoundation.org/xml/implml/1">
       
     3 
       
     4 <container> 
       
     5     <phase name="pre"/> 
       
     6     <tag name="target" value="rofs3"/> 
       
     7 
       
     8     <ruleml xmlns="http://www.s60.com/xml/ruleml/3">
       
     9         <rule>
       
    10             ${HbTheme.UIThemeFile} configures ${HbTheme.HbDefaultTheme} = {% get_themename_from_thx( ${HbTheme.UIThemeFile}, 'themes' ) %}
       
    11         </rule>
       
    12         <rule>
       
    13             ${HbTheme.PriorityThemeFile} configures ${HbTheme.HbPriorityThemeName} = {% get_themename_from_thx( ${HbTheme.PriorityThemeFile}, 'prioritytheme' ) %}
       
    14         </rule>
       
    15         <eval_globals>
       
    16 
       
    17 import sys, zipfile, os, os.path
       
    18 import tempfile
       
    19 import shutil
       
    20     
       
    21 def get_themename_from_thx(file, themesfolder):
       
    22     ret = None
       
    23 
       
    24     outdir = get_output_folder()
       
    25     outdir = os.path.join(outdir, 'resource')
       
    26     if not os.path.exists(outdir):    
       
    27         os.mkdir(outdir)
       
    28     outdir = os.path.join(outdir, 'hb')
       
    29     if not os.path.exists(outdir):    
       
    30         os.mkdir(outdir)
       
    31     outdir = os.path.join(outdir, themesfolder)
       
    32     if not os.path.exists(outdir):    
       
    33         os.mkdir(outdir)
       
    34     unzip_file_into_dir(file, outdir)
       
    35     
       
    36     # Get filesnames in outdir
       
    37     files_in_dir = os.listdir(outdir)
       
    38     
       
    39     # Search for themeindex file
       
    40     for fn in files_in_dir:
       
    41         if os.path.splitext(fn)[1] == '.themeindex':
       
    42             ret = os.path.splitext(fn)[0]
       
    43         
       
    44     return ret
       
    45         
       
    46 def unzip_file_into_dir(file, dir):
       
    47     """
       
    48     Unzips file into given folder.
       
    49     """
       
    50 
       
    51     zfobj = zipfile.ZipFile(file,'r')
       
    52     for name in zfobj.namelist():
       
    53         if name.endswith('/'):        
       
    54             os.mkdir(os.path.join(dir, name))
       
    55         else:
       
    56             outfile = open(os.path.join(dir, name), 'wb')
       
    57             outfile.write(zfobj.read(name))
       
    58             outfile.close()
       
    59 
       
    60 def get_output_folder():
       
    61     output = ruleml.context.output
       
    62     output = os.path.join(output, 'content')
       
    63     if not os.path.exists(output):
       
    64         os.mkdir(output)
       
    65 
       
    66     return output
       
    67 
       
    68         </eval_globals>
       
    69     
       
    70     </ruleml>
       
    71 </container>
       
    72 
       
    73 <container>
       
    74     <phase name="normal"/>
       
    75     <tag name="target" value="rofs3"/> 
       
    76 
       
    77     <content xmlns="http://www.s60.com/xml/content/2">
       
    78         <output dir="">
       
    79             <input dir="content"/>
       
    80         </output>
       
    81     </content>
       
    82 </container>
       
    83 
       
    84 </container>