mat.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. # -*- coding: utf-8 -*-
  2. '''
  3. gestion des materiels: pateaux, maquettes, decors, creatures, terrains, pieges
  4. '''
  5. import os
  6. from time import time
  7. from PyQt4.QtCore import QObject
  8. from PyQt4.QtGui import QPixmap
  9. from lib.commun import uid, rep, enregistrerSous, charger
  10. def chargerMat(idM, cible = ""):
  11. """idM peut etre seulement l'id, ou le chemin complet"""
  12. # if len(cible) == 0: cible = "jeu"
  13. if len(idM) == 10 and len(cible) > 0:
  14. mat = charger(os.path.join(rep(cible), "{}.dm".format(idM)))
  15. else:
  16. mat = charger(idM)
  17. return mat
  18. def supprimerMat(idM, cible = ""):
  19. if len(cible) == 0: cible = "jeu"
  20. os.remove(os.path.join(rep(cible), "{}.dm".format(idM)))
  21. class Materiel(QObject):
  22. """classe de base des materiels utilises"""
  23. def __init__(self):
  24. super(Materiel, self).__init__()
  25. if not "_idM" in self.__dict__: #le materiel est deja parametre
  26. self._idM = ""
  27. self._repCible = "jeu"
  28. self._type = "ma"
  29. self._nom = ""
  30. self._regle = "" #regle de jeu associee au materiel
  31. self._dCr = time() #date de creation
  32. self._dMaj = "" #date de la derniere mise a jour
  33. def nom(self):
  34. return self._nom
  35. def majNom(self, nom):
  36. self._nom = nom
  37. def typ(self):
  38. return self._type
  39. def majType(self, typ):
  40. self._type = typ
  41. def idM(self):
  42. return self._idM
  43. def icone(self):
  44. return QPixmap()
  45. def enregistrer(self, cible = ""):
  46. if len(self._idM) == 0: self._idM = uid(self.typ())
  47. if len(cible) == 0: cible = self._repCible
  48. cible = os.path.join(rep(cible), "{}.dm".format(self._idM))
  49. self._dMaj = time()
  50. enregistrerSous(self, cible)
  51. def dateCreation(self):
  52. return self._dCr
  53. def dateMaj(self):
  54. return self._dMaj