[Uludag-commits] r109 - in trunk/COMAR/comar/COMARd: capi csl/csl_mods csl/sample

svn-uludag at uludag.org.tr svn-uludag at uludag.org.tr
15 Şub 2005 Sal 11:59:05 EET


Author: serdar
Date: Tue Feb 15 11:59:05 2005
New Revision: 109

Modified:
   trunk/COMAR/comar/COMARd/capi/api_sys.py
   trunk/COMAR/comar/COMARd/csl/csl_mods/csl_string.py
   trunk/COMAR/comar/COMARd/csl/csl_mods/csl_varops.py
   trunk/COMAR/comar/COMARd/csl/sample/xorg.csl
Log:
....



Modified: trunk/COMAR/comar/COMARd/capi/api_sys.py
==============================================================================
--- trunk/COMAR/comar/COMARd/capi/api_sys.py	(original)
+++ trunk/COMAR/comar/COMARd/capi/api_sys.py	Tue Feb 15 11:59:05 2005
@@ -77,7 +77,7 @@
 				fd = open(file, "w")
 				wb = fd.write(buffer)
 				fd.close()
-				return self.cv.COMARRetVal( value= self.cv.numeric_create(0), result=0 )				
+				return self.cv.COMARRetVal( value= self.cv.numeric_create(0), result=0 )
 			return self.cv.COMARRetVal( value=self.cv.numeric_create(0), result=EPERM )
 			
 	def get_file(self, _name = "", prms = {}, checkPerms=dummycheckPerms, callerInfo=None):

Modified: trunk/COMAR/comar/COMARd/csl/csl_mods/csl_string.py
==============================================================================
--- trunk/COMAR/comar/COMARd/csl/csl_mods/csl_string.py	(original)
+++ trunk/COMAR/comar/COMARd/csl/csl_mods/csl_string.py	Tue Feb 15 11:59:05 2005
@@ -18,6 +18,24 @@
 	return default
 
 class API:
+	def csl_arraygrep(self, prms):
+		"array_grep(array=arr, pattern='');"
+		if prms.has_key("array") and prms.has_key("pattern"):
+			arr = prms["array"].value
+			pattern = safeget(prms, "pattern", "")
+			ret = {}
+			if arr.type == "array":
+				for i in arr.keys():
+					s = arr[i].toString()
+					if s.find(pattern) != -1:
+						ret[i] = arr[i]
+					
+			else:
+				if arr.toString.find(pattern) != -1:
+					ret["%06d" % 0] = arr
+			return CSLValue("array", ret)
+		return CSLValue("NULL", "")
+		
 	def csl_replacetokens(self, prms):
 		tokenid = "$"
 		valid_chars = "0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
@@ -167,7 +185,7 @@
 					if len(ret):
 						ret = float(ret)
 					break
-		#print "getnumleft return:", ret
+		#print "getnumleft return:", ret		
 		if int(ret) == ret:
 			ret = int(ret)
 		return CSLValue("numeric", ret)

Modified: trunk/COMAR/comar/COMARd/csl/csl_mods/csl_varops.py
==============================================================================
--- trunk/COMAR/comar/COMARd/csl/csl_mods/csl_varops.py	(original)
+++ trunk/COMAR/comar/COMARd/csl/csl_mods/csl_varops.py	Tue Feb 15 11:59:05 2005
@@ -36,6 +36,26 @@
 			if val in arr.keys():
 				return CSLValue("numeric", 1)
 			return CSLValue("numeric", 0)
+			
+	def csl_arraysort(self, prms):
+		var = None
+		if prms.has_key("var"):
+			var = prms["var"]
+		if prms.has_key("variable"):
+			var = prms["variable"]
+		if var:
+			arr = var.value
+			x = arr.keys()
+			x.sort()
+			ret = {}
+			p = 0
+			for i in x:
+				ret["%06d"%p] = i
+			
+			return CSLValue("array", ret)
+		else:
+			return CSLValue("NULL", "")
+			
 	def csl_typeof(prms):
 		var = None
 		if prms.has_key("var"):

Modified: trunk/COMAR/comar/COMARd/csl/sample/xorg.csl
==============================================================================
--- trunk/COMAR/comar/COMARd/csl/sample/xorg.csl	(original)
+++ trunk/COMAR/comar/COMARd/csl/sample/xorg.csl	Tue Feb 15 11:59:05 2005
@@ -14,7 +14,10 @@
 	extra_modules = "";
 	#debugout(value="dpi="+dpi);
 	#xout["S Device"]["V Driver"] = "nv";
-	
+	hsync_min = 25;
+	hsync_max = 75;
+	vsync_min = 50;
+	vsync_max = 60;
 	if (xout["S Device"]["V Driver"] != "") {
 
 		xdrv = xout["S Device"]["V Driver"];
@@ -103,7 +106,7 @@
 
 			v1 = int(string = rr * 1000.0);
 			v2 = int(string = s_rr * 1000.0);
-			debugout(value="V1 V2 STEP = "+v1+" "+v2+" "+step);
+			#debugout(value="V1 V2 STEP = "+v1+" "+v2+" "+step);
 			if ( v1 == v2 ) {
 				cont = 0;
 
@@ -121,7 +124,7 @@
 		modeline =  modeline + " " + dcf + " " + int(string=resx) + " ";
 		modeline =  modeline + int(string=hfront) + " " + int(string=hsync) + " " + int(string=hfl) + " " + int(string=resy) + " " + int(string=vfront) + " " + int(string=vsync) + " " + int(string=vfl) + "\n";
 	} else {
-
+		
 		s = grepfirst(exec="/usr/sbin/ddcxinfos", pattern="truly");
 		if ( s == "") {
 			s = grepfirst(exec="/usr/sbin/ddcxinfos", pattern="truly");
@@ -134,6 +137,39 @@
 			inc = getnumleft(string = w[4]);
 			pix = 4 * (inc / 5) * dpi;
 		}
+		
+		#30-97 kHz HorizSync
+		
+		s = grepfirst(exec="/usr/sbin/ddcxinfos", pattern="Hz HorizSync");
+		if ( s == "") {
+			s = grepfirst(exec="/usr/sbin/ddcxinfos", pattern="Hz HorizSync");
+		}
+		if ( s == "") {
+			s = grepfirst(exec="/usr/sbin/ddcxinfos", pattern="Hz HorizSync");
+		}		
+		if (s != "") {
+			w = split(string=s, separator="-");
+			hsync_max = getnumleft(string = w[1]);
+			hsync_min = getnumright(string = w[0]);			
+		}
+		
+		#50-160 Hz VertRefresh
+		
+		s = grepfirst(exec="/usr/sbin/ddcxinfos", pattern="Hz VertRefresh");
+		
+		if ( s == "") {
+			s = grepfirst(exec="/usr/sbin/ddcxinfos", pattern="Hz VertRefresh");
+		}
+		if ( s == "") {
+			s = grepfirst(exec="/usr/sbin/ddcxinfos", pattern="Hz VertRefresh");
+		}
+		
+		if (s != "") {
+			w = split(string=s, separator="-");
+			vsync_max = getnumleft(string = w[1]);
+			vsync_min = getnumright(string = w[0]);			
+		}
+		
 		ml = capture(exec="/usr/sbin/ddcxinfos", startwith="ModeLine");
 		
 		#debugout(value=ml);
@@ -148,8 +184,7 @@
 				debugout(value="add res:"+x+" "+y);
 			}
 			modelines[key] = strip(string=val);			
-			modeline = modeline + val + " ";
-			
+			modeline = modeline + val + " ";			
 		}
 	}
 	#debugout(value=vals);
@@ -163,6 +198,7 @@
 		DisplayInfo = getnearvalue(look = pix, values = vals);
 	} else {
 		vals[0] = psize;
+		DisplayInfo = psize;
 	}
 
 	# Detect mouse...
@@ -294,15 +330,16 @@
 	
 	ini_fld["DRIVER"] = xdrv ;
 	modes = DisplayInfo + " ";
+
 	foreach(key=val in vals) {
 		if (val!=DisplayInfo)
 			modes = modes + " " + val;
 	}
 	ini_fld["MODES"] = modes;
-	ini_fld["HORIZMIN"] = "25";
-	ini_fld["HORIZMAX"] = "100";
-	ini_fld["VERTMIN"] = "50";
-	ini_fld["VERTMAX"] = "85";
+	ini_fld["HORIZMIN"] = hsync_min;
+	ini_fld["HORIZMAX"] = hsync_max;
+	ini_fld["VERTMIN"] = vsync_min;
+	ini_fld["VERTMAX"] = vsync_max;
 	ini_fld["MODELINES"] = modeline;
 	
 	buf = replacetokens(buffer = xorg_buffer, fields = ini_fld);			


Uludag-commits hakkında daha fazla bilgi için