[Uludag-commits] r15319 - in trunk/staj-projeleri/Pakito: . gui src src/gui src/gui/pspecWgt src/uis uis

uludag-commits at pardus.org.tr uludag-commits at pardus.org.tr
5 Eyl 2007 Çar 15:30:01 EEST


Author: gokcen.eraslan
Date: Wed Sep  5 15:30:01 2007
New Revision: 15319

Added:
   trunk/staj-projeleri/Pakito/src/
   trunk/staj-projeleri/Pakito/src/actions-template.py
      - copied unchanged from r15283, trunk/staj-projeleri/Pakito/actions-template.py
   trunk/staj-projeleri/Pakito/src/gui/
      - copied from r15283, trunk/staj-projeleri/Pakito/gui/
   trunk/staj-projeleri/Pakito/src/pakito.py
      - copied unchanged from r15283, trunk/staj-projeleri/Pakito/pakito.py
   trunk/staj-projeleri/Pakito/src/pspec-template.xml
      - copied unchanged from r15283, trunk/staj-projeleri/Pakito/pspec-template.xml
   trunk/staj-projeleri/Pakito/src/uis/
      - copied from r15283, trunk/staj-projeleri/Pakito/uis/
Removed:
   trunk/staj-projeleri/Pakito/actions-template.py
   trunk/staj-projeleri/Pakito/gui/
   trunk/staj-projeleri/Pakito/pakito.py
   trunk/staj-projeleri/Pakito/pspec-template.xml
   trunk/staj-projeleri/Pakito/uis/
Modified:
   trunk/staj-projeleri/Pakito/.pydevproject
   trunk/staj-projeleri/Pakito/src/gui/mainwindow.py
   trunk/staj-projeleri/Pakito/src/gui/pspecWgt/historyWidget.py
   trunk/staj-projeleri/Pakito/src/gui/pspecWgt/packageWidget.py
   trunk/staj-projeleri/Pakito/src/gui/pspecWgt/sourceWidget.py
   trunk/staj-projeleri/Pakito/src/gui/pspecWgt/sourceWidgetUI.py
   trunk/staj-projeleri/Pakito/src/gui/pspecWidget.py
Log:
reorganization cont.

Modified: trunk/staj-projeleri/Pakito/.pydevproject
=================================================================
--- trunk/staj-projeleri/Pakito/.pydevproject	(original)
+++ trunk/staj-projeleri/Pakito/.pydevproject	Wed Sep  5 15:30:01 2007
@@ -4,6 +4,6 @@
 <pydev_project>
 <pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 2.4</pydev_property>
 <pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
-<path>/Packager/src</path>
+<path>/Pakito/src</path>
 </pydev_pathproperty>
 </pydev_project>

Modified: trunk/staj-projeleri/Pakito/src/gui/mainwindow.py
=================================================================
--- trunk/staj-projeleri/Pakito/gui/mainwindow.py	(original)
+++ trunk/staj-projeleri/Pakito/src/gui/mainwindow.py	Wed Sep  5 15:30:01 2007
@@ -49,12 +49,6 @@
         self.topSplitter = QSplitter(self.mainSplitter)
         self.topSplitter.setOrientation(Qt.Horizontal)
         self.mainLayout.addWidget(self.mainSplitter)
-        
-        # left tree
-#        self.lvProjects = KListView(self.topSplitter)
-#        self.lvProjects.setMaximumWidth(200)
-#        self.lvProjects.addColumn("Projects")
-#        self.lvProjects.ResizeMode(KListView.LastColumn)
 
         #right tabs
         self.twTabs = KTabWidget(self.topSplitter)
@@ -74,31 +68,8 @@
         self.teOutput.setPaper(QBrush(QColor("white")))
         self.twBottomTabs.addTab(self.bottomTabWidget2, i18n("IDE Output"))
         
-        # actions
-        
-        # (standard) file actions
-        self.actionNew = KStdAction.openNew(self.new, self.actionCollection())
-        self.actionOpen = KStdAction.open(self.open, self.actionCollection())
-        self.actionSave = KStdAction.save(self.save, self.actionCollection())
-        self.actionSaveAll = KAction(i18n("Save All"), "save_all", KShortcut(), self.saveAll, self.actionCollection())
-        self.actionClose = KStdAction.close(self.closePacket, self.actionCollection())
-        self.actionExit = KStdAction.quit(self.exit, self.actionCollection())
-
-#        # build actions        
-        self.actionFetch = KAction(i18n("Fetch"), "khtml_kget", KShortcut(), self.fetchSlot, self.actionCollection())
-        self.actionUnpack = KAction(i18n("Unpack"), KShortcut(), self.unpackSlot, self.actionCollection())        
-        self.actionSetup = KAction(i18n("Setup"), "configure", KShortcut(), self.setupSlot, self.actionCollection())
-        self.actionBuild = KAction(i18n("Build"), "compfile", KShortcut(), self.buildSlot, self.actionCollection())
-        self.actionInstall = KAction(i18n("Install"), KShortcut(), self.installSlot, self.actionCollection())
-        self.actionMakePackage = KAction(i18n("Make Package"), "package", KShortcut(), self.makePackageSlot, self.actionCollection())
+        self.doActions()
         
-        #automation actions
-        self.actionAddRelease = KAction(i18n("Add Release"), "edit_add", KShortcut(), self.addReleaseSlot, self.actionCollection())
-        self.actionValidatePspec = KAction(i18n("Validate Pspec File"), "ok", KShortcut(), self.validatePspecSlot, self.actionCollection())
-        self.actionCheckSHA1 = KAction(i18n("Check SHA1"), KShortcut(), self.checkSHA1Slot, self.actionCollection())
-        self.actionComputeSHA1 = KAction(i18n("Compute SHA1"), "gear", KShortcut(), self.computeSHA1Slot, self.actionCollection())
-        self.actionDetectType = KAction(i18n("Detect File Type"), "filefind", KShortcut(), self.detectTypeSlot, self.actionCollection())
-    
         # menubar popups
         self.popupFile = KPopupMenu(self)
         self.actionNew.plug(self.popupFile)
@@ -156,12 +127,6 @@
         self.actionComputeSHA1.plug(toolbar)
         self.actionDetectType.plug(toolbar)
         
-        # status bar op.
-        #self.sb = self.statusBar()
-        #self.progress = QProgressBar(self)
-        #self.progress.setMaximumHeight(15)
-        #self.sb.addWidget(self.progress)
-        
         self.disableOperations()
         
         #prepare pisi
@@ -192,6 +157,32 @@
         self.connect(qApp, SIGNAL("shutDown()"), self.exit)
         self.showMaximized()
     
+    def doActions(self):                
+        # actions
+        
+        # (standard) file actions
+        self.actionNew = KStdAction.openNew(self.new, self.actionCollection())
+        self.actionOpen = KStdAction.open(self.open, self.actionCollection())
+        self.actionSave = KStdAction.save(self.save, self.actionCollection())
+        self.actionSaveAll = KAction(i18n("Save All"), "save_all", KShortcut(), self.saveAll, self.actionCollection())
+        self.actionClose = KStdAction.close(self.closePacket, self.actionCollection())
+        self.actionExit = KStdAction.quit(self.exit, self.actionCollection())
+
+        # build actions        
+        self.actionFetch = KAction(i18n("Fetch"), "khtml_kget", KShortcut(), self.fetchSlot, self.actionCollection())
+        self.actionUnpack = KAction(i18n("Unpack"), KShortcut(), self.unpackSlot, self.actionCollection())        
+        self.actionSetup = KAction(i18n("Setup"), "configure", KShortcut(), self.setupSlot, self.actionCollection())
+        self.actionBuild = KAction(i18n("Build"), "compfile", KShortcut(), self.buildSlot, self.actionCollection())
+        self.actionInstall = KAction(i18n("Install"), KShortcut(), self.installSlot, self.actionCollection())
+        self.actionMakePackage = KAction(i18n("Make Package"), "package", KShortcut(), self.makePackageSlot, self.actionCollection())
+        
+        #automation actions
+        self.actionAddRelease = KAction(i18n("Add Release"), "edit_add", KShortcut(), self.addReleaseSlot, self.actionCollection())
+        self.actionValidatePspec = KAction(i18n("Validate Pspec File"), "ok", KShortcut(), self.validatePspecSlot, self.actionCollection())
+        self.actionCheckSHA1 = KAction(i18n("Check SHA1"), KShortcut(), self.checkSHA1Slot, self.actionCollection())
+        self.actionComputeSHA1 = KAction(i18n("Compute SHA1"), "gear", KShortcut(), self.computeSHA1Slot, self.actionCollection())
+        self.actionDetectType = KAction(i18n("Detect File Type"), "filefind", KShortcut(), self.detectTypeSlot, self.actionCollection())
+    
     def sockHandle(self, socket):
         self.teOutput.setText(unicode(self.teOutput.text()) + unicode(os.read(socket, 100)))
         
@@ -264,7 +255,6 @@
         self.enableOperations()
         
     def open(self):
-	    # ask for directory of package - TODO: değiştirmeli mi?
         packageDir = KFileDialog.getExistingDirectory(QString.null, self, i18n("Select PiSi Source Package"))
         
         if not packageDir or packageDir == "":
@@ -273,16 +263,16 @@
             packageDir = unicode(packageDir) + "/"
 
         try: 
-            self.pspecFile = open(packageDir + "pspec.xml", "r") 
+            self.pspecFile = open(packageDir + "pspec.xml", "r+")
         except:
             KMessageBox.sorry(self, i18n("No pspec.xml found."), i18n("Error"))
             return
         self.pspecFile.close()
         
         try: 
-            self.actionspyFile = open(packageDir + "actions.py", "r")
+            self.actionspyFile = open(packageDir + "actions.py", "r+")
         except:
-            KMessageBox.sorry(self, i18n("Error"), i18n("No pspec.xml found."))
+            KMessageBox.sorry(self, i18n("No actions.py found."), i18n("Error") )
             return
         self.actionspyFile.close()
         
@@ -301,12 +291,12 @@
             shutil.rmtree(self.tempDir)
 
         shutil.copytree(packageDir, self.tempDir)
-        qApp.processEvents(QEventLoop.ExcludeUserInput)
+        qApp.processEvents()
 
         self.pspecTab = PspecWidget(self.twTabs, os.path.join(self.tempDir, "pspec.xml"))
         
         if self.pspecTab == None: 
-            KMessageBox.sorry(self, i18n("Invalid File"), i18n("pspec.xml is not valid or well-formed"))
+            KMessageBox.sorry(self, i18n("pspec.xml is not valid or well-formed"), i18n("Invalid File"))
             return
         
         self.actionsTab = ActionsWidget(self.twTabs, os.path.join(self.tempDir, "actions.py"))
@@ -321,39 +311,40 @@
         self.enableOperations()
     
     def save(self, all=False):
-        if self.actionsTab == None or self.actionsTab == None:
-            KMessageBox.sorry(self, i18n("There is no package to save. Create or Open a package first."), i18n("No package"))
-            return
-        
-        if self.realDir == None:
-            packageDir = KFileDialog.getExistingDirectory(QString.null, self, i18n("Select PiSi Source Package Directory"))
-            if not packageDir or str(packageDir) == "":
-                return
-            self.realDir = unicode(packageDir)
-            
-        if all == True:
-            self.changePspecTab(False)        
-            self.pspecTab.change = False
-            self.changeActionsTab(False)
-            self.actionsTab.change = False
-            
-            self.savePspec()
-            self.saveActions()
-            return
-        
-        if self.twTabs.currentPage() is self.pspecTab:
-            self.changePspecTab(False)
-            self.pspecTab.change = False
-            # real save process
-            self.savePspec()
-            return
-        
-        if self.twTabs.currentPage() is self.actionsTab:
-            self.changeActionsTab(False)        
-            self.actionsTab.change = False
-            # real save process
-            self.saveActions()
-            return
+#        if self.actionsTab == None or self.actionsTab == None:
+#            KMessageBox.sorry(self, i18n("There is no package to save. Create or Open a package first."), i18n("No package"))
+#            return
+#        
+#        if self.realDir == None:
+#            packageDir = KFileDialog.getExistingDirectory(QString.null, self, i18n("Select PiSi Source Package Directory"))
+#            if not packageDir or str(packageDir) == "":
+#                return
+#            self.realDir = unicode(packageDir)
+#            
+#        if all == True:
+#            self.changePspecTab(False)        
+#            self.pspecTab.change = False
+#            self.changeActionsTab(False)
+#            self.actionsTab.change = False
+#            
+#            self.savePspec()
+#            self.saveActions()
+#            return
+#        
+#        if self.twTabs.currentPage() is self.pspecTab:
+#            self.changePspecTab(False)
+#            self.pspecTab.change = False
+#            # real save process
+#            self.savePspec()
+#            return
+#        
+#        if self.twTabs.currentPage() is self.actionsTab:
+#            self.changeActionsTab(False)        
+#            self.actionsTab.change = False
+#            # real save process
+#            self.saveActions()
+#            return
+        pass
     
     def saveAll(self):
         self.save(all = True)
@@ -371,10 +362,8 @@
         
     def exit(self):
         self.closePacket()
-        
         if self.tempDir:
-            dir, hede = os.path.split(self.tempDir)
-            del hede
+            dir = os.path.split(self.tempDir)[0]
             if os.path.isdir(dir):
                 shutil.rmtree(dir)
         pisi.api.finalize()
@@ -579,7 +568,7 @@
          from cgi import escape
          try:
              pisi.api.build_until(self.path, self.stage)
-             qApp.processEvents(QEventLoop.ExcludeUserInput)
+             qApp.processEvents()
              self.output.setText(self.output.text() + i18n("<b>Succesfully finished.</b>"))
          except Exception, inst:
              self.output.append(str(i18n("\n<font color=\"red\">*** Error: %s</font>\n\n")) % unicode(escape(str(inst))))

Modified: trunk/staj-projeleri/Pakito/src/gui/pspecWgt/historyWidget.py
=================================================================
--- trunk/staj-projeleri/Pakito/gui/pspecWgt/historyWidget.py	(original)
+++ trunk/staj-projeleri/Pakito/src/gui/pspecWgt/historyWidget.py	Wed Sep  5 15:30:01 2007
@@ -68,29 +68,4 @@
     def fill(self, history):
         self.lvHistory.clear()
         for rel in history:
-            self.addRelease(rel)
-    
-    def get(self, history):
-        while len(history) != 0:
-            history.pop()
-            
-        iterator = QListViewItemIterator(self.lvHistory)
-        while iterator.current():
-            lvi = iterator.current()
-            update = spec.Update()
-            if str(lvi.text(0)).strip() != "":
-                update.release = str(lvi.text(0))
-            if str(lvi.text(1)).strip() != "":
-                update.date = str(lvi.text(1))
-            if str(lvi.text(2)).strip() != "":
-                update.version = str(lvi.text(2))     
-            if str(lvi.text(3)).strip() != "":
-                update.comment = str(lvi.text(3))
-            if str(lvi.text(4)).strip() != "":
-                update.name = unicode(lvi.text(4))
-            if str(lvi.text(5)).strip() != "":
-                update.email = str(lvi.text(5))        
-            if str(lvi.text(6)).strip() != "":
-                update.type = str(lvi.text(6))
-            history.insert(0,update)
-            iterator += 1
+            self.addRelease(rel)
\ No newline at end of file

Modified: trunk/staj-projeleri/Pakito/src/gui/pspecWgt/packageWidget.py
=================================================================
--- trunk/staj-projeleri/Pakito/gui/pspecWgt/packageWidget.py	(original)
+++ trunk/staj-projeleri/Pakito/src/gui/pspecWgt/packageWidget.py	Wed Sep  5 15:30:01 2007
@@ -378,107 +378,6 @@
             for comar in package.providesComar:  #TODO: summary yok desc varsa?
                 lvi = KListViewItem(self.lvCOMAR, comar.om, comar.script) 
                  
-        def get(self, package):
-            if str(self.leName.text()):
-                package.name = str(self.leName.text())
-            if str(self.leLicense.text()):
-                package.license = str(self.leLicense.text()).split(", ")
-            else:
-                package.license = None
-            if str(self.leIsA.text()):
-                package.isA = str(self.leIsA.text()).split(", ")
-            else:
-                package.isA = None
-            if self.lePartOf.text() and str(self.lePartOf.text()).strip() != "":
-                package.partOf = str(self.lePartOf.text())
-            else:
-                package.partOf = None
-    
-    	    #get package summary and desc.
-            package.summary.clear()
-            package.description.clear()
-            iterator = QListViewItemIterator(self.lvSummary)
-            while iterator.current():
-                lvi = iterator.current()
-                if str(lvi.text(1)).strip() != "":
-                    package.summary[str(lvi.text(0))] = unicode(lvi.text(1))
-                if str(lvi.text(2)).strip() != "":
-                    package.description[str(lvi.text(0))] = unicode(lvi.text(2))
-                iterator += 1
-                
-            #get package runtime dependencies
-            # TODO: componentDependencies
-            package.packageDependencies = []
-            iterator = QListViewItemIterator(self.lvRuntimeDep)
-            while iterator.current():
-                lvi = iterator.current()
-                dep = Dependency()
-                getConstraintReverse(str(lvi.text(0)), str(lvi.text(1)), dep)
-                package.packageDependencies.insert(0, dep)
-                iterator += 1
-            
-            #get replaces
-            package.replaces = []
-            iterator = QListViewItemIterator(self.lvReplaces)
-            while iterator.current():
-                lvi = iterator.current()
-                rep = Replace()
-                getConstraintReverse(str(lvi.text(0)), str(lvi.text(1)), rep)
-                package.replaces.insert(0, rep)
-                iterator += 1
-            
-            #get package files
-            package.files = []
-            iterator = QListViewItemIterator(self.lvFiles)
-            while iterator.current():
-                lvi = iterator.current()
-                path = spec.Path()
-                path.fileType = str(lvi.text(0))
-                if str(lvi.text(1)).strip() != "":
-                    path.permanent = str(lvi.text(1))
-                path.path = str(lvi.text(2))
-                package.files.insert(0, path)
-                iterator += 1
-
-            #get package additional files
-            package.additionalFiles = []
-            iterator = QListViewItemIterator(self.lvAdditionalFiles)
-            while iterator.current():
-                lvi = iterator.current()
-                addFile = spec.AdditionalFile()
-                if str(lvi.text(0)).strip() != "":
-                    addFile.owner = str(lvi.text(0))
-                if str(lvi.text(1)).strip() != "":
-                    addFile.permission = str(lvi.text(1))
-                if str(lvi.text(2)).strip() != "":
-                    addFile.target = str(lvi.text(2))
-                addFile.filename = str(lvi.text(3))                
-                package.additionalFiles.insert(0,addFile)
-                iterator += 1    
-        
-            #get package conflicts
-            package.conflicts = []
-            iterator = QListViewItemIterator(self.lvConflicts)
-            while iterator.current():
-                lvi = iterator.current()
-                conflict = Conflict()
-                getConstraintReverse(str(lvi.text(0)), str(lvi.text(1)), conflict)
-                package.conflicts.insert(0,conflict)
-                iterator += 1 
-        
-            #get comar scripts
-            package.providesComar = []
-            iterator = QListViewItemIterator(self.lvCOMAR)
-            while iterator.current():
-                lvi = iterator.current()
-                comar = spec.ComarProvide()
-                if str(lvi.text(0)).strip() != "":
-                    comar.om = str(lvi.text(0))
-                if str(lvi.text(1)).strip() != "":
-                    comar.script = str(lvi.text(1))               
-                package.providesComar.insert(0,comar)
-                iterator += 1
-
     def __init__(self, parent, fileLoc = None):
         QWidget.__init__(self, parent)
         pageLayout = QVBoxLayout(self, 6, 11)
@@ -516,18 +415,6 @@
         self.packages = packages
         for package in packages:
             self.addPackage(package)
-            
-    def get(self, packages):
-        while len(packages) != 0:
-            packages.pop()
-        
-        packageCount = self.twPackages.count()        
-        for i in range(packageCount):
-            tab = self.twPackages.page(i)
-            package = spec.Package()
-            #sen de bunu doldur heman
-            tab.get(package)
-            packages.append(package)
     
     def addPackageSlot(self):
         package = spec.Package()

Modified: trunk/staj-projeleri/Pakito/src/gui/pspecWgt/sourceWidget.py
=================================================================
--- trunk/staj-projeleri/Pakito/gui/pspecWgt/sourceWidget.py	(original)
+++ trunk/staj-projeleri/Pakito/src/gui/pspecWgt/sourceWidget.py	Wed Sep  5 15:30:01 2007
@@ -20,8 +20,8 @@
         SourceWidgetUI.__init__(self, parent)
 
         if fileLoc:
-            tempDir = os.path.split(fileLoc)[0]
-            self.filesDir = tempDir + "/files"
+            self.packageDir = os.path.split(fileLoc)[0]
+            self.filesDir = self.packageDir + "/files"
 
         self.lePackager.setPaletteForegroundColor(QColor("black"))
         self.lePackager.setPaletteBackgroundColor(QColor("white"))
@@ -55,7 +55,7 @@
         
         self.pbViewPatch.setIconSet(il.loadIconSet("filefind", KIcon.Toolbar))
 
-        self.isAPopup = QPopupMenu(self)
+        self.isAPopup = KPopupMenu(self)
         isAList = ["app", "app:console", "app:gui", "app:web", "|", "library", "service", "|", "data", "data:doc", "data:font", "|", "kernel", "driver", "|", "locale"]
 
         for isa in isAList:
@@ -66,7 +66,7 @@
         self.connect(self.pbIsA, SIGNAL("clicked()"), self.slotIsAPopup)
         self.connect(self.isAPopup, SIGNAL("activated(int)"), self.slotIsAHandle)
 
-        self.licensePopup = QPopupMenu(self)
+        self.licensePopup = KPopupMenu(self)
         for l in ["GPL", "GPL-2", "GPL-3", "as-is", "LGPL-2", "LGPL-2.1", "BSD", "MIT", "LGPL"]:
             self.licensePopup.insertItem(l)
         
@@ -77,6 +77,67 @@
         self.lvBuildDep.setSorting(-1)
         self.lvPatches.setSorting(-1)
 
+###########################################################################33
+
+
+        self.connect(self.leName, SIGNAL("textChanged(const QString &)"), self.slotNameChanged)
+        self.connect(self.leHomepage, SIGNAL("textChanged(const QString &)"), self.slotHomepageChanged)
+        self.connect(self.leLicense, SIGNAL("textChanged(const QString &)"), self.slotLicenseChanged)
+        self.connect(self.leIsA, SIGNAL("textChanged(const QString &)"), self.slotIsAChanged)
+        self.connect(self.lePartOf, SIGNAL("textChanged(const QString &)"), self.slotPartOfChanged)
+        self.connect(self.lePackager, SIGNAL("textChanged(const QString &)"), self.slotPackagerChanged)
+        self.connect(self.leEmail, SIGNAL("textChanged(const QString &)"), self.slotEmailChanged)
+        self.connect(self.leURI, SIGNAL("textChanged(const QString &)"), self.slotURIChanged)
+        self.connect(self.leSHA1, SIGNAL("textChanged(const QString &)"), self.slotSHA1Changed)
+        self.connect(self.cbType, SIGNAL("textChanged(const QString &)"), self.slotTypeChanged)
+        
+    def slotNameChanged(self, newOne):
+#        self.sedPspec("(<Source>.*?<Name>).*?(</Name>)", r"\1" + str(newOne).replace("\\", "\\\\") + r"\2")
+        pass
+        
+    def slotHomepageChanged(self, newOne):
+#        self.sedPspec("(<Homepage>).*?(</Homepage>)", r"\1" + str(newOne).replace("\\", "\\\\") + r"\2")
+        pass
+        
+    def slotLicenseChanged(self, newOne):
+#        self.sedPspec("(<Source>.*?<Name>)(.*?)(</Name>)", r"\1" + str(newOne).replace("\\", "\\\\") + r"\3")
+        pass
+        
+    def slotIsAChanged(self, newOne):
+#        self.sedPspec("(<Source>.*?<Name>)(.*?)(</Name>)", r"\1" + str(newOne).replace("\\", "\\\\") + r"\3")
+        pass
+    def slotPartOfChanged(self, newOne):
+#        self.sedPspec("(<Source>.*?<Name>)(.*?)(</Name>)", r"\1" + str(newOne).replace("\\", "\\\\") + r"\3")
+        pass
+    def slotPackagerChanged(self, newOne):
+#        self.sedPspec("(<Source>.*?<Name>)(.*?)(</Name>)", r"\1" + str(newOne).replace("\\", "\\\\") + r"\3")
+        pass
+    def slotEmailChanged(self, newOne):
+#        self.sedPspec("(<Source>.*?<Name>)(.*?)(</Name>)", r"\1" + str(newOne).replace("\\", "\\\\") + r"\3")
+        pass
+    def slotURIChanged(self, newOne):
+#        self.sedPspec("(<Source>.*?<Name>)(.*?)(</Name>)", r"\1" + str(newOne).replace("\\", "\\\\") + r"\3")
+        pass
+    def slotSHA1Changed(self, newOne):
+#        self.sedPspec("(<Source>.*?<Name>)(.*?)(</Name>)", r"\1" + str(newOne).replace("\\", "\\\\") + r"\3")
+        pass
+    def slotTypeChanged(self, newOne):
+#        self.sedPspec("(<Source>.*?<Name>)(.*?)(</Name>)", r"\1" + str(newOne).replace("\\", "\\\\") + r"\3")
+        pass
+        
+    def sedPspec(self, pattern, repl):
+        import re
+        exp = re.compile(pattern, re.S)
+        fName = self.packageDir + "/pspec.xml"
+        f = open(fName)
+        new = re.sub(exp, repl, f.read())
+        f.close()
+        f = open(fName, "w")
+        f.write(new)
+        f.close()
+
+###########################################################################
+
     def slotLicensePopup(self):
         self.licensePopup.exec_loop(self.pbLicense.mapToGlobal(QPoint(0,0 + self.pbLicense.height())))
 
@@ -232,7 +293,8 @@
         self.leHomepage.setText(source.homepage)
         self.leLicense.setText(", ".join(source.license))
         self.leIsA.setText(", ".join(source.isA))
-        self.lePackager.setText("%s (%s)" % (source.packager.name, source.packager.email))
+        self.lePackager.setText(source.packager.name)
+        self.leEmail.setText(source.packager.email)
         if source.partOf:
             self.lePartOf.setText(source.partOf)   
         
@@ -259,72 +321,6 @@
                 patch.compressionType = ""
             lvi = KListViewItem(self.lvPatches, str(patch.level), str(patch.compressionType), patch.filename)
     
-    def get(self, source):
-        if str(self.leName.text()).strip() == "":
-            raise Exception, i18n("Source name must be filled.")
-        
-        source.name = str(self.leName.text()).strip()
-        source.homepage = str(self.leHomepage.text()).strip()
-        source.license = str(self.leLicense.text()).strip().split(", ")
-        source.isA = str(self.leIsA.text()).strip().split(", ")
-        if self.lePartOf.text() and str(self.lePartOf.text()).strip() != "":
-            source.partOf = str(self.lePartOf.text()).strip()
-        else:
-            source.partOf = None
-        
-        packagerText = str(self.lePackager.text()).strip()
-        if packagerText != "":
-            packager = packagerText.split(" (")
-            packagerName = unicode(packager[0])
-            packagerEmail = packager[1][:-1]
-            source.packager.name = packagerName
-            source.packager.email = packagerEmail
-        else:
-            pass # hata
-        
-        source.archive.uri= str(self.leURI.text()).strip()
-        source.archive.type = str(self.cbType.currentText()).strip()
-        source.archive.sha1sum = str(self.leSHA1.text()).strip()
-        
-        source.summary.clear()
-        source.description.clear()
-        iterator = QListViewItemIterator(self.lvSummary)
-        while iterator.current():
-            lvi = iterator.current()
-            if str(lvi.text(1)).strip() != "":
-                source.summary[str(lvi.text(0))] = unicode(lvi.text(1))
-            if str(lvi.text(2)).strip() != "":
-                source.description[str(lvi.text(0))] = unicode(lvi.text(2))
-            iterator += 1
-            
-        source.buildDependencies = []
-        iterator = QListViewItemIterator(self.lvBuildDep)
-        while iterator.current():
-            lvi = iterator.current()
-            dep = Dependency()
-            getConstraintReverse(str(lvi.text(0)), str(lvi.text(1)), dep)
-            source.buildDependencies.insert(0,dep)
-            iterator += 1
-        
-        source.patches = []
-        iterator = QListViewItemIterator(self.lvPatches)
-        while iterator.current():
-            lvi = iterator.current()
-            patch = spec.Patch()
-            if str(lvi.text(0)) == "":
-                patch.level = None
-            else:
-                patch.level = int(str(lvi.text(0)))
-            
-            if str(lvi.text(1)) == "":
-                patch.compressionType = None
-            else:
-                patch.compressionType = str(lvi.text(1))
-            
-            patch.filename = str(lvi.text(2))
-            source.patches.insert(0,patch)
-            iterator += 1
-    
 def getConstraint(dep):
     if dep.version:
         constraint = i18n("Version") + " = " + dep.version

Modified: trunk/staj-projeleri/Pakito/src/gui/pspecWgt/sourceWidgetUI.py
=================================================================
--- trunk/staj-projeleri/Pakito/gui/pspecWgt/sourceWidgetUI.py	(original)
+++ trunk/staj-projeleri/Pakito/src/gui/pspecWgt/sourceWidgetUI.py	Wed Sep  5 15:30:01 2007
@@ -2,7 +2,7 @@
 
 # Form implementation generated from reading ui file '../../uis/pspecWidget/sourceWidgetUI.ui'
 #
-# Created: Sal Eyl 4 16:44:28 2007
+# Created: Sal Eyl 4 22:38:24 2007
 #      by: The PyQt User Interface Compiler (pyuic) 3.17.3
 #
 # WARNING! All changes made in this file will be lost!
@@ -34,7 +34,7 @@
         gbGeneralLayout = QGridLayout(self.gbGeneral.layout())
         gbGeneralLayout.setAlignment(Qt.AlignTop)
         spacer4 = QSpacerItem(20,16,QSizePolicy.Minimum,QSizePolicy.Fixed)
-        gbGeneralLayout.addItem(spacer4,3,3)
+        gbGeneralLayout.addItem(spacer4,1,0)
 
         self.twSource = QTabWidget(self.gbGeneral,"twSource")
         self.twSource.setSizePolicy(QSizePolicy(QSizePolicy.Expanding,QSizePolicy.Expanding,0,0,self.twSource.sizePolicy().hasHeightForWidth()))
@@ -166,77 +166,96 @@
         TabPageLayout_3.addLayout(layout21)
         self.twSource.insertTab(self.TabPage_3,QString.fromLatin1(""))
 
-        gbGeneralLayout.addMultiCellWidget(self.twSource,4,4,0,6)
+        gbGeneralLayout.addMultiCellWidget(self.twSource,2,2,0,1)
 
-        self.lblName = QLabel(self.gbGeneral,"lblName")
+        layout11 = QGridLayout(None,1,1,0,6,"layout11")
 
-        gbGeneralLayout.addWidget(self.lblName,0,0)
-        spacer1 = QSpacerItem(20,20,QSizePolicy.Fixed,QSizePolicy.Minimum)
-        gbGeneralLayout.addItem(spacer1,0,3)
+        self.lblIsA = QLabel(self.gbGeneral,"lblIsA")
 
-        self.lblLicense = QLabel(self.gbGeneral,"lblLicense")
+        layout11.addWidget(self.lblIsA,0,0)
 
-        gbGeneralLayout.addWidget(self.lblLicense,2,0)
+        self.lePartOf = KLineEdit(self.gbGeneral,"lePartOf")
 
-        self.leName = KLineEdit(self.gbGeneral,"leName")
+        layout11.addWidget(self.lePartOf,1,1)
 
-        gbGeneralLayout.addMultiCellWidget(self.leName,0,0,1,2)
+        layout10 = QHBoxLayout(None,0,6,"layout10")
 
-        self.lblPackager = QLabel(self.gbGeneral,"lblPackager")
-        self.lblPackager.setFrameShape(QLabel.NoFrame)
-        self.lblPackager.setFrameShadow(QLabel.Plain)
+        self.leIsA = KLineEdit(self.gbGeneral,"leIsA")
+        layout10.addWidget(self.leIsA)
 
-        gbGeneralLayout.addWidget(self.lblPackager,2,4)
-        spacer1_2 = QSpacerItem(20,20,QSizePolicy.Fixed,QSizePolicy.Minimum)
-        gbGeneralLayout.addItem(spacer1_2,1,3)
+        self.pbIsA = KPushButton(self.gbGeneral,"pbIsA")
+        self.pbIsA.setSizePolicy(QSizePolicy(QSizePolicy.Minimum,QSizePolicy.Minimum,0,0,self.pbIsA.sizePolicy().hasHeightForWidth()))
+        layout10.addWidget(self.pbIsA)
 
-        self.leHomepage = KLineEdit(self.gbGeneral,"leHomepage")
+        layout11.addLayout(layout10,0,1)
 
-        gbGeneralLayout.addMultiCellWidget(self.leHomepage,1,1,1,2)
+        layout9 = QHBoxLayout(None,0,6,"layout9")
 
-        self.lePartOf = KLineEdit(self.gbGeneral,"lePartOf")
+        self.lePackager = KLineEdit(self.gbGeneral,"lePackager")
+        layout9.addWidget(self.lePackager)
 
-        gbGeneralLayout.addMultiCellWidget(self.lePartOf,1,1,5,6)
-        spacer1_3 = QSpacerItem(20,20,QSizePolicy.Fixed,QSizePolicy.Minimum)
-        gbGeneralLayout.addItem(spacer1_3,2,3)
+        self.textLabel1 = QLabel(self.gbGeneral,"textLabel1")
+        layout9.addWidget(self.textLabel1)
 
-        self.lblIsA = QLabel(self.gbGeneral,"lblIsA")
+        self.leEmail = KLineEdit(self.gbGeneral,"leEmail")
+        layout9.addWidget(self.leEmail)
 
-        gbGeneralLayout.addWidget(self.lblIsA,0,4)
+        layout11.addLayout(layout9,2,1)
+
+        self.lblPackager = QLabel(self.gbGeneral,"lblPackager")
+        self.lblPackager.setFrameShape(QLabel.NoFrame)
+        self.lblPackager.setFrameShadow(QLabel.Plain)
+
+        layout11.addWidget(self.lblPackager,2,0)
 
         self.lblPartOf5 = QLabel(self.gbGeneral,"lblPartOf5")
 
-        gbGeneralLayout.addWidget(self.lblPartOf5,1,4)
+        layout11.addWidget(self.lblPartOf5,1,0)
 
-        self.lblHomepage = QLabel(self.gbGeneral,"lblHomepage")
+        gbGeneralLayout.addLayout(layout11,0,1)
+
+        layout12 = QGridLayout(None,1,1,0,6,"layout12")
 
-        gbGeneralLayout.addWidget(self.lblHomepage,1,0)
+        self.leHomepage = KLineEdit(self.gbGeneral,"leHomepage")
+
+        layout12.addMultiCellWidget(self.leHomepage,1,1,1,2)
 
         self.leLicense = KLineEdit(self.gbGeneral,"leLicense")
 
-        gbGeneralLayout.addWidget(self.leLicense,2,1)
+        layout12.addWidget(self.leLicense,2,1)
+        spacer1_2 = QSpacerItem(20,20,QSizePolicy.Fixed,QSizePolicy.Minimum)
+        layout12.addItem(spacer1_2,1,3)
 
-        self.pbLicense = KPushButton(self.gbGeneral,"pbLicense")
+        self.leName = KLineEdit(self.gbGeneral,"leName")
 
-        gbGeneralLayout.addWidget(self.pbLicense,2,2)
+        layout12.addMultiCellWidget(self.leName,0,0,1,2)
 
-        self.lePackager = KLineEdit(self.gbGeneral,"lePackager")
+        self.lblName = QLabel(self.gbGeneral,"lblName")
 
-        gbGeneralLayout.addMultiCellWidget(self.lePackager,2,2,5,6)
+        layout12.addWidget(self.lblName,0,0)
 
-        self.leIsA = KLineEdit(self.gbGeneral,"leIsA")
+        self.lblHomepage = QLabel(self.gbGeneral,"lblHomepage")
 
-        gbGeneralLayout.addWidget(self.leIsA,0,5)
+        layout12.addWidget(self.lblHomepage,1,0)
+        spacer1 = QSpacerItem(20,20,QSizePolicy.Fixed,QSizePolicy.Minimum)
+        layout12.addItem(spacer1,0,3)
 
-        self.pbIsA = KPushButton(self.gbGeneral,"pbIsA")
-        self.pbIsA.setSizePolicy(QSizePolicy(QSizePolicy.Minimum,QSizePolicy.Minimum,0,0,self.pbIsA.sizePolicy().hasHeightForWidth()))
+        self.pbLicense = KPushButton(self.gbGeneral,"pbLicense")
+
+        layout12.addWidget(self.pbLicense,2,2)
 
-        gbGeneralLayout.addWidget(self.pbIsA,0,6)
+        self.lblLicense = QLabel(self.gbGeneral,"lblLicense")
+
+        layout12.addWidget(self.lblLicense,2,0)
+        spacer1_3 = QSpacerItem(20,20,QSizePolicy.Fixed,QSizePolicy.Minimum)
+        layout12.addItem(spacer1_3,2,3)
+
+        gbGeneralLayout.addLayout(layout12,0,0)
         SourceWidgetUILayout.addWidget(self.gbGeneral)
 
         self.languageChange()
 
-        self.resize(QSize(586,307).expandedTo(self.minimumSizeHint()))
+        self.resize(QSize(622,307).expandedTo(self.minimumSizeHint()))
         self.clearWState(Qt.WState_Polished)
 
         self.setTabOrder(self.leName,self.leHomepage)
@@ -246,7 +265,8 @@
         self.setTabOrder(self.leIsA,self.pbIsA)
         self.setTabOrder(self.pbIsA,self.lePartOf)
         self.setTabOrder(self.lePartOf,self.lePackager)
-        self.setTabOrder(self.lePackager,self.twSource)
+        self.setTabOrder(self.lePackager,self.leEmail)
+        self.setTabOrder(self.leEmail,self.twSource)
         self.setTabOrder(self.twSource,self.leURI)
         self.setTabOrder(self.leURI,self.cbType)
         self.setTabOrder(self.cbType,self.leSHA1)
@@ -301,14 +321,15 @@
         self.pbViewPatch.setText(QString.null)
         self.pbBrowsePatch.setText(QString.null)
         self.twSource.changeTab(self.TabPage_3,self.__tr("Patches"))
-        self.lblName.setText(self.__tr("Name:"))
-        self.lblLicense.setText(self.__tr("License:"))
-        self.lblPackager.setText(self.__tr("Packager:"))
         self.lblIsA.setText(self.__tr("Is A:"))
+        self.pbIsA.setText(QString.null)
+        self.textLabel1.setText(self.__tr("E-mail:"))
+        self.lblPackager.setText(self.__tr("Packager:"))
         self.lblPartOf5.setText(self.__tr("Part Of:"))
+        self.lblName.setText(self.__tr("Name:"))
         self.lblHomepage.setText(self.__tr("Homepage:"))
         self.pbLicense.setText(QString.null)
-        self.pbIsA.setText(QString.null)
+        self.lblLicense.setText(self.__tr("License:"))
 
 
     def __tr(self,s,c = None):

Modified: trunk/staj-projeleri/Pakito/src/gui/pspecWidget.py
=================================================================
--- trunk/staj-projeleri/Pakito/gui/pspecWidget.py	(original)
+++ trunk/staj-projeleri/Pakito/src/gui/pspecWidget.py	Wed Sep  5 15:30:01 2007
@@ -84,13 +84,7 @@
         else:
             return "design"
         
-    def fill(self, fileLocation = None):
-        if fileLocation != None:
-            try:
-                self.pspec.read(fileLocation)
-            except:
-                return False            
-            
+    def fill(self):
         #source bilgileri
         self.sourcePage.fill(self.pspec.source)
         
@@ -99,12 +93,10 @@
         
         #history bilgileri
         self.historyPage.fill(self.pspec.history)
-        
-        return True
     
     def pbDesignClicked(self):
         if self.pbDesign.isOn(): # design section will open
-            self.designWillOpen()            
+            self.designWillOpen()
         else:
             self.codeWillOpen()
             
@@ -115,13 +107,12 @@
             self.designWillOpen()
             
     def designWillOpen(self):
-
         if not self.syncFromCode():
             KMessageBox.sorry(self, i18n("Specification is not valid or well-formed."), i18n("Invalid XML Code"))
             self.pbDesign.setOn(False)
             self.pbCode.setOn(True)
-            return
         else:
+            self.fill()
             self.widgetStack.raiseWidget(0)
             self.pbCode.setOn(False)
             self.pbDesign.setOn(True)
@@ -130,47 +121,16 @@
         self.pbDesign.setOn(False)
         self.pbCode.setOn(True)
         self.widgetStack.raiseWidget(1)
-#        self.editor.widget().setFocus()        
 
-        self.syncFromDesign()
-        
-    def codeChanged(self):
-        if self.changeCount == 0:
-            self.changeCount += 1
-            return
-        
-        if not self.change:
-            self.change = True
-            self.emit(PYSIGNAL("changeName"), (True,))
-    
-    def get(self): # bu verdiklerimi doldurun ivedi
-        
-        #source bilgileri
-        self.sourcePage.get(self.pspec.source)
-        
-        # paket bilgileri
-        self.packagePage.get(self.pspec.packages)
-        
-        #history bilgileri
-        self.historyPage.get(self.pspec.history)
+        self.editor.openFile(self.fileLocation)
     
     def syncFromCode(self):
         self.editor.save()
-        return self.fill(self.editor.editedFile)
-           
-    def syncFromDesign(self):        
         try:
-            self.get()
-        except Exception, err:
-            KMessageBox.error(self, str(err), i18n("Error during syncronisation"))
-            return
-        
-        editFile = self.fileLocation
-        try:
-            self.pspec.write(editFile)
-        except Exception, err:
-            KMessageBox.sorry(self, i18n(str(err)), i18n("Error"))
-        self.editor.openFile(editFile)
+            self.pspec.read(self.editor.editedFile)
+        except:
+            return False
+        return True
         
     def isSourceDownloaded(self):
         import os.path as path
@@ -183,5 +143,4 @@
         if path.exists(loc):
             return (True, loc)
         else:
-            return (False, None)
-        
+            return (False, None)        


Uludag-commits mesaj listesiyle ilgili daha fazla bilgi