Menu

[r1]: / Property.py  Maximize  Restore  History

Download this file

111 lines (58 with data), 2.2 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
from Translator import *
import Declaration
import ValueList
class SSSProperty(Declaration.SSSDeclaration):
_name = ''
_value = ''
_sourceText = ''
def __init__(self, text = None):
addLogMessage(get_class(self) + ' creating SSSProperty.')
super(SSSProperty, self).__init__()
if text: self._parse(text)
def _parse(self, text):
addLogMessage('Property trying to parse: text = ' + text)
text = trim(text)
self._sourceText = text
ruleText = ''
#foreach(self._sourceText as i=>$char):
for i in xrange(len(self._sourceText)):
if (self._sourceText[i] == ';'):
self.appendDeclaration(ruleText)
return
ruleText += self._sourceText[i]
if (ruleText != ''): self.appendDeclaration(ruleText)
def appendDeclaration(self, declaration):
matches = preg_match(r'(.*)\:(.*);?', trim(declaration))
if (matches):
self._setName(trim(matches[0][0]))
self._setValue(trim(matches[0][1]))
def _setValue(self, value):
addLogMessage('SSSProperty _setValue: value = ' + value)
self._value = ValueList.SSSValueList(value, self)
def _setName(self, name):
self._name = name
def isVar(self):
return preg_match(r'^\$', self._name, get_class(self))
def get_name(self):
return self._name
name = property(get_name, _setName)
def get_value(self):
if (self._value):
return self._value.cssText
return ''
value = property(get_value, _setValue)
def get_cssText(self):
return self.__str__()
cssText = property(get_cssText, _parse)
def getVar(self, name):
#pdb.set_trace()
return self.parentObject.getVar(name)
def __str__(self):
if self._value:
string = self._name + ": " + self._value.cssText + ";"
if self._name:
matches = preg_match(r'\$', self._name)
if (matches):
string = self.createCommentText(string)
return string + "\n"
return ''
MongoDB Logo MongoDB