Author: remi
Date: 2008-11-28 13:12:51 +0100 (Fri, 28 Nov 2008)
New Revision: 2899

Added:
   software_suite_v2/tuxware/installers/unix/branches/prefix_install/getRules.py
   
software_suite_v2/tuxware/installers/unix/branches/prefix_install/test_rules.sh
Log:
* added a python script to retrieve the rules from a kysoh server path
* added an example shell script

Added: 
software_suite_v2/tuxware/installers/unix/branches/prefix_install/getRules.py
===================================================================
--- 
software_suite_v2/tuxware/installers/unix/branches/prefix_install/getRules.py   
                            (rev 0)
+++ 
software_suite_v2/tuxware/installers/unix/branches/prefix_install/getRules.py   
    2008-11-28 12:12:51 UTC (rev 2899)
@@ -0,0 +1,122 @@
+#    Copyright (C) 2008 C2ME Sa
+#    Remi Jocaille <[EMAIL PROTECTED]>
+#    Distributed under the terms of the GNU General Public License
+#    http://www.gnu.org/copyleft/gpl.html
+
+import socket
+import urllib2
+import sys
+
+def downloadUrlToStream(url, timeout = 6.4):
+    """Download a file from an URL.
+    @param url: URL.
+    @return: The success result and the data stream.
+    """
+    old_timeout = socket.getdefaulttimeout()
+    socket.setdefaulttimeout(timeout)
+    success = True
+    result = ''
+
+    req = urllib2.Request(url)
+
+    try:
+        f = urllib2.urlopen(url)
+    except urllib2.HTTPError, exc:
+        success = False
+    except urllib2.URLError, exc:
+        success = False
+    except:
+        success = False
+
+    if success:
+        try:
+            result = f.read()
+            f.close()
+        except:
+            success = False
+
+    socket.setdefaulttimeout(old_timeout)
+
+    return success, result
+
+def getRules(url, version = "Online", arch = "LINUX"):
+    """Get rules list from an URL which contains a 'install.txt' file.
+    @param url: Base url of the install.txt.
+    @param version: Rules version. ["Online"|"QC"|"Work"|"Old"]
+    @param arch: Os type. ["LINUX"|"WIN"]
+    @return The success result and the rules list.
+    """
+    ret, stream = downloadUrlToStream(url + 'install.txt')
+    result = ""
+    if not ret:
+        return False, result
+
+    myArch = arch
+    if myArch == "LINUX":
+        badArch = "WIN"
+    else:
+        badArch = "LINUX"
+
+    pre_lines = stream.split("\n")
+
+    # Remove blank lines
+    # Remove comments
+    # Remove bad arch
+    post_lines = []
+    for line in pre_lines:
+        if len(line.replace(' ', '')) == 0:
+            continue
+        if (line[0] == ';'):
+            continue
+        if line.find(badArch) == 0:
+            continue
+        if line.find("%s|" % myArch) == 0:
+            line = line[len(myArch) + 1:]
+        post_lines.append(line)
+
+    # Get rules from selected version
+    post_lines2 = []
+    isReqVersion = False
+    for line in post_lines:
+        if not isReqVersion:
+            if line.find('[%s]' % version) == 0:
+                isReqVersion = True
+            continue
+        else:
+            if line.find('[') == 0:
+                isReqVersion = False
+                break
+            post_lines2.append(line)
+
+    # Complete rules
+    final_rules = []
+    for line in post_lines2:
+        spt_rules = line.split("|")
+        f_rule = "%s|%s|%s|%s%s" % (spt_rules[0], spt_rules[1], spt_rules[2],
+            url, spt_rules[3])
+        final_rules.append(f_rule)
+
+    return True, final_rules
+
+if __name__ == "__main__":
+    if len(sys.argv) != 5:
+        print "CMD : getRules.py VERSION ARCH URL DestFile"
+        sys.exit(1)
+
+    version = sys.argv[1]
+    arch = sys.argv[2]
+    url = sys.argv[3]
+    destFile = sys.argv[4]
+
+    ret, rules = getRules(url, version, arch)
+
+    f = open(destFile, 'w')
+    if ret:
+        for rule in rules:
+            f.write("%s\n" % rule)
+    f.close()
+
+    if ret:
+        sys.exit(0)
+    else:
+        sys.exit(2)
\ No newline at end of file


Property changes on: 
software_suite_v2/tuxware/installers/unix/branches/prefix_install/getRules.py
___________________________________________________________________
Name: svn:keywords
   + Id

Added: 
software_suite_v2/tuxware/installers/unix/branches/prefix_install/test_rules.sh
===================================================================
--- 
software_suite_v2/tuxware/installers/unix/branches/prefix_install/test_rules.sh 
                            (rev 0)
+++ 
software_suite_v2/tuxware/installers/unix/branches/prefix_install/test_rules.sh 
    2008-11-28 12:12:51 UTC (rev 2899)
@@ -0,0 +1,10 @@
+#!/bin/bash
+KYSOH_URL=http://94.23.16.55/apps
+CONTROL_CENTER_URL=$KYSOH_URL/applications/common/control_center
+
+testCCRules () {
+    echo "-- Test to retrieve the control center rules"
+    python getRules.py Work LINUX "$TEMP_DIR/" "tmpfile"
+    less tmpfile
+    rm tmpfile
+}


Property changes on: 
software_suite_v2/tuxware/installers/unix/branches/prefix_install/test_rules.sh
___________________________________________________________________
Name: svn:keywords
   + Id


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn

Reply via email to