##// END OF EJS Templates
Los graficos RTI, Spc, Cspc y CoherenceMap se guardan en archivos .png por defecto con el PREFIX que corresponde a cada grafico. Para envio de archivos por FTP, se crea una sub-carpeta con nombre 'ftp', luego se guarda el archivo con nombre 'YYYYDDDWWEXPSSTTNN', donde YYYY indica el year, DDD indica el doy, WW,EXP,SS,TT,NN se definen para uso provisional en la web de Jicamarca, la web para monitoreo en tiempo real se debe cambiar.
Los graficos RTI, Spc, Cspc y CoherenceMap se guardan en archivos .png por defecto con el PREFIX que corresponde a cada grafico. Para envio de archivos por FTP, se crea una sub-carpeta con nombre 'ftp', luego se guarda el archivo con nombre 'YYYYDDDWWEXPSSTTNN', donde YYYY indica el year, DDD indica el doy, WW,EXP,SS,TT,NN se definen para uso provisional en la web de Jicamarca, la web para monitoreo en tiempo real se debe cambiar.

File last commit:

r364:c14a3175c01e
r400:3d5938925967
Show More
modelProperties.py
276 lines | 9.8 KiB | text/x-python | PythonLexer
from PyQt4 import QtCore
HORIZONTAL_HEADERS = ("Property","Value " )
HORIZONTAL = ("RAMA :",)
class treeModel(QtCore.QAbstractItemModel):
'''
a model to display a few names, ordered by encabezado
'''
name=None
directorio=None
workspace=None
remode=None
dataformat=None
date=None
initTime=None
endTime=None
timezone=None
Summary=None
description=None
def __init__(self ,parent=None):
super(treeModel, self).__init__(parent)
self.people = []
def properties_projecto(self,description):
self.caracteristica="Project_Properties"
self.principal ="Name"
self.description =description
exam_project=person_class(self.caracteristica,self.principal,self.description)
return exam_project
def arbol(self):
for caracteristica,principal, descripcion in (("Properties","Name",self.name),
("Properties","Data Path",self.directorio),
("Properties","Workspace",self.workspace),
("Parameters", "Read Mode ",self.remode),
("Parameters", "DataType ",self.dataformat),
("Parameters", "Date ",self.date),
("Parameters", "Init Time ",self.initTime),
("Parameters", "Final Time ",self.endTime),
("Parameters", " Time zone ",self.timezone),
("Parameters", "Profiles ","1"),
("Description", "Summary ", self.Summary),
):
person = person_class(caracteristica, principal, descripcion)
self.people.append(person)
def addProjectproperties(self,person):
self.people.append(person)
#def veamos(self):
# self.update= MainWindow(self)
# self.update.dataProyectTxt.text()
# return self.update.dataProyectTxt.text()
def showtree(self):
self.rootItem = TreeItem(None, "ALL", None)
self.parents = {0 : self.rootItem}
self.setupModelData()
def setParams(self,name,directorio,workspace,remode,dataformat,date,initTime,endTime,timezone,Summary):
self.name=name
self.workspace=workspace
self.directorio= directorio
self.remode=remode
self.dataformat=dataformat
self.date=date
self.initTime=initTime
self.endTime=endTime
self.timezone=timezone
self.Summary=Summary
for caracteristica,principal, descripcion in (("Properties","Name",self.name),
("Properties","Data Path",self.directorio),
("Properties","Workspace",self.workspace),
("Parameters", "Read Mode ",self.remode),
("Parameters", "DataType ",self.dataformat),
("Parameters", "Date ",self.date),
("Parameters", "Init Time ",self.initTime),
("Parameters", "Final Time ",self.endTime),
("Parameters", " Time zone ",self.timezone),
("Parameters", "Profiles ","1"),
("Description", "Summary ", self.Summary),
):
person = person_class(caracteristica, principal, descripcion)
self.people.append(person)
self.rootItem = TreeItem(None, "ALL", None)
self.parents = {0 : self.rootItem}
self.setupModelData()
def columnCount(self, parent=None):
if parent and parent.isValid():
return parent.internalPointer().columnCount()
else:
return len(HORIZONTAL_HEADERS)
def data(self, index, role):
if not index.isValid():
return QtCore.QVariant()
item = index.internalPointer()
if role == QtCore.Qt.DisplayRole:
return item.data(index.column())
if role == QtCore.Qt.UserRole:
if item:
return item.person
return QtCore.QVariant()
def headerData(self, column, orientation, role):
if (orientation == QtCore.Qt.Horizontal and
role == QtCore.Qt.DisplayRole):
try:
return QtCore.QVariant(HORIZONTAL_HEADERS[column])
except IndexError:
pass
return QtCore.QVariant()
def index(self, row, column, parent):
if not self.hasIndex(row, column, parent):
return QtCore.QModelIndex()
if not parent.isValid():
parentItem = self.rootItem
else:
parentItem = parent.internalPointer()
childItem = parentItem.child(row)
if childItem:
return self.createIndex(row, column, childItem)
else:
return QtCore.QModelIndex()
def parent(self, index):
if not index.isValid():
return QtCore.QModelIndex()
childItem = index.internalPointer()
if not childItem:
return QtCore.QModelIndex()
parentItem = childItem.parent()
if parentItem == self.rootItem:
return QtCore.QModelIndex()
return self.createIndex(parentItem.row(), 0, parentItem)
def rowCount(self, parent=QtCore.QModelIndex()):
if parent.column() > 0:
return 0
if not parent.isValid():
p_Item = self.rootItem
else:
p_Item = parent.internalPointer()
return p_Item.childCount()
def setupModelData(self):
for person in self.people:
if person.descripcion:
encabezado = person.caracteristica
if not self.parents.has_key(encabezado):
newparent = TreeItem(None, encabezado, self.rootItem)
self.rootItem.appendChild(newparent)
self.parents[encabezado] = newparent
parentItem = self.parents[encabezado]
newItem = TreeItem(person, "", parentItem)
parentItem.appendChild(newItem)
def searchModel(self, person):
'''
get the modelIndex for a given appointment
'''
def searchNode(node):
'''
a function called recursively, looking at all nodes beneath node
'''
for child in node.childItems:
if person == child.person:
index = self.createIndex(child.row(), 0, child)
return index
if child.childCount() > 0:
result = searchNode(child)
if result:
return result
retarg = searchNode(self.parents[0])
#print retarg
return retarg
def find_GivenName(self, principal):
app = None
for person in self.people:
if person.principal == principal:
app = person
break
if app != None:
index = self.searchModel(app)
return (True, index)
return (False, None)
class person_class(object):
'''
a trivial custom data object
'''
def __init__(self, caracteristica, principal, descripcion):
self.caracteristica = caracteristica
self.principal = principal
self.descripcion = descripcion
def __repr__(self):
return "PERSON - %s %s"% (self.principal, self.caracteristica)
class TreeItem(object):
'''
a python object used to return row/column data, and keep note of
it's parents and/or children
'''
def __init__(self, person, header, parentItem):
self.person = person
self.parentItem = parentItem
self.header = header
self.childItems = []
def appendChild(self, item):
self.childItems.append(item)
def child(self, row):
return self.childItems[row]
def childCount(self):
return len(self.childItems)
def columnCount(self):
return 2
def data(self, column):
if self.person == None:
if column == 0:
return QtCore.QVariant(self.header)
if column == 1:
return QtCore.QVariant("")
else:
if column == 0:
return QtCore.QVariant(self.person.principal)
if column == 1:
return QtCore.QVariant(self.person.descripcion)
return QtCore.QVariant()
def parent(self):
return self.parentItem
def row(self):
if self.parentItem:
return self.parentItem.childItems.index(self)
return 0