[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