from Translator import *
import SimpleList
class SSSSelectorList(SimpleList.SSSSimpleList):
parentObject = None;
def __init__(self, text = '', parentObject = None):
super(SSSSelectorList, self).__init__(parentObject)
# self._selectors = []
if (text):
self._parse(text)
def _parse(self, selectorText):
# self._selectors = self.getSelectorsAsArray(selectorText)
# for key in self._selectors:
for key in self.getSelectorsAsArray(selectorText):
self.appendSelector(key)
def getSelectorsAsArray(self, selectorText):
splitList = trim(selectorText).split(',')
return splitList
def removeConsecutiveSpaces(self, string):
return trim(preg_replace(r'\s+', ' ', string))
def appendSelector(self, selector):
self.appendItem(self.removeConsecutiveSpaces(selector))
def prependToAllSelectors(self, selectorText):
selectors_to_prepend = self.getSelectorsAsArray(selectorText)
new_array = []
for i in xrange(len(selectors_to_prepend)):
selector_to_prepend = selectors_to_prepend[i]
new_array = new_array + self.prependSelectorToAllSelectors(selector_to_prepend)
self.items = new_array
def prependSelectorToAllSelectors(self, selector_to_prepend):
current_selectors = self.getSelectorsAsArray(self.selectorText)
#foreach(current_selectors as key=>$current_selector):
for i in xrange(len(current_selectors)):
current_selectors[i] = self.removeConsecutiveSpaces(self.prependSelector(trim(selector_to_prepend), current_selectors[i]))
return current_selectors
def prependSelector(self, selector_to_prepend, selector):
return selector_to_prepend + ' ' + selector
def __call(self, method, args):
return super(SSSSelectorList, self).__call(method, args)
def get_selectors(self):
return self.items
selectors = property(get_selectors)
def selectorArrayToString(self, array):
return ", ".join(array)
def get_selectorText(self):
return self.selectorArrayToString(self.items)
selectorText = property(get_selectorText)