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