Пример #1
0
    def __init__(self, *args, **kwargs):
        super(predictionPageLeftNavigationBar,self).__init__()
        self.path = get_dir_path()        
        self.setMaximumWidth(250)
        self.setMinimumWidth(250)

        self.setStyleSheet(
            """
            QGroupBox {
                background: qlineargradient(x1: 1, y1: 0, x2:1, y2: 1,
                                 stop: 0 #E6DADA, stop: 1.0 #274046);
                border-style:solid;
                border-color:gray;
                border-width:2px;
                margin-top:1em;
            }
            QGroupBox QGroupBox {
                background-color: green;
            }
            QGroupBox::title {
                subcontrol-origin: padding;
                subcontrol-position: top;
                background: transparent;
                margin-top: -2.5em;
                color:blue;
            }
            """
            )
        self.setTitle("Navigation Bar")
        self.initUI()
Пример #2
0
    def __init__(self, userIndex, *args, **kwargs):
        super().__init__()

        self.dir_path = get_dir_path()
        self.userIndex = userIndex
        self.databasePath = "{}Databases/user{}.db".format(
            self.dir_path,
            hex(self.userIndex)[2:])

        self.dbObj = sql_functions(
            self.databasePath
        )  #Kullanıcının günlük aktivite bilgilerinin saklandığı veritabanına bağlanılır

        self.rangeCount = 0
        self.last = None

        self.ranges = list()
        self.jobNames = list()
        self.data_dict = None

        self.dataTypes = [(str, "str"), (str, "str"), (int, "int"),
                          (int, "int"), (int, "int"), (int, "int")]
        self.predictionVariables = [
            "Aktivite Adı", "İsteklilik", "Yorgunluk", "Moral", "Son Verim"
        ]
        self.dayVariables = [
            "Date", "TimeRange", "Willingness", "Fatigue", "Morale",
            "Efficiency"
        ]
        self.sleepVariables = ["Date", "SleepRange", "SleepEfficiency"]
        self.newDateDBConfigurationText = "('Job','TEXT'),('TimeRange','TEXT'),('Willingness','INT'), ('Fatigue','INT'), ('Morale','INT'),('Efficiency','INT')"
        self.setWindowTitle("Proje")

        self.initUI()
Пример #3
0
    def __init__(self, UserIndex, *args, **kwargs):
        super().__init__()
        self.path = get_dir_path()
        self.UserIndex = UserIndex
        __usersDB = sql_functions("{}Databases/users.db".format(self.path))
        __userData = __usersDB.get_row_with_ID("Users", self.UserIndex)
        __usersDB.disconnect_from_database()
        self.installEventFilter(self)
        self.setWindowTitle("Profil Sayfası")
        self.setMaximumWidth(557)
        self.registrationDate = __userData[0]
        self.email = __userData[1]
        self.nickname = __userData[2]
        self.name = __userData[3]
        self.surname = __userData[4]
        self.__passwordHashed = __userData[5]  #Gizlilik amaçlı

        self.formatImagePath = "{}Images/userImages/genderlessUser.png".format(
            self.path)
        self.userImagePath = "{}Images/userImages/user{}.png".format(
            self.path,
            hex(self.UserIndex)[2:])
        self.psudoImagePath = ""
        self.setStyleSheet("""
        background-color: #C6E2FF;
        """)
        self.initUI()
Пример #4
0
 def __init__(self, *args, **kwargs):
     super().__init__()
     self.setWindowTitle("Kullanıcı Girişi")
     self.dir_path = get_dir_path()
     self.userDatabaseControl()
     self.userDB = sql_functions("{}Databases/users.db".format(
         self.dir_path))  #Kullanıcı veritabanı ile bağlantının kurulması
     self.setMaximumSize(356, 206)  #Ekran boyutları
     self.initUI()  #Arayüz tasarım kodlarının çalıştırılması
Пример #5
0
    def __init__(self, *args, **kwargs):
        super().__init__()
        self.dir_path = get_dir_path()  # Ana kod dizinin bulunması
        self.userDB = sql_functions("{}Databases/users.db".format(
            self.dir_path))  # Kullanıcı veritabanına bağlanılır
        self.setWindowTitle("Kayıt Formu")  # Pencere başlığı
        # Ekran boyutları
        self.setMinimumSize(343, 316)
        self.setMaximumSize(343, 316)

        self.initUI()  # Arayüz kodlarının çalıştırılması
Пример #6
0
    def __init__(self, userIndex, *args, **kwargs):
        self.userIndex = userIndex

        self.path = get_dir_path()
        self.objectFolderPath = "{}Objects/".format(self.path)
        self.userObjectFolderPath = "{}Objects/user{}/".format(
            self.path,
            hex(self.userIndex)[2:])
        self.userProgressionPercentFilePath = "{}progressionPercentage.pkl".format(
            self.userObjectFolderPath)

        self.userClassificationObjectFolderPath = "{}ClassificationObjects/".format(
            self.userObjectFolderPath)
        self.classificationObjectPath = "{}generalSituationEstimator.pkl".format(
            self.userClassificationObjectFolderPath)

        self.userRegressionObjectFolderPath = "{}RegressionObjects/".format(
            self.userObjectFolderPath)
        self.regressionObjectPath = "{}regressionsDict.pkl".format(
            self.userRegressionObjectFolderPath)

        self.createObjectPath()
Пример #7
0
#Arayüz çalıştırıcısı modülü
from PyQt5.QtWidgets import QApplication
from PyQt5.QtGui import QIcon
#Arayüz modülü
from userLogin import userLoginForm
from dirPath import get_dir_path
#Sistem modülü
import sys

if __name__ == "__main__":
    # Bu kod parçası yazılımın çalıştırıcı kod parçasıdır.
    # Bu Python dosyası çalıştırılıra yazılım sorunsuzca çalışacaktır.

    # Not Bütün kodlar aynı dizinde ve Images/ dizinide bu dizin altında olmalıdır.
    # Aksi takdirde hata verebilir.
    app = QApplication(sys.argv)
    obj = userLoginForm()
    obj.setWindowIcon(QIcon(get_dir_path()+"Images/prediction.png"))
    obj.show()
    sys.exit(app.exec_())
Пример #8
0
def usersConf():
    # Bu fonksiyon bir nevi setup fonksiyonudur.UserLogin ilk çalıştığında çalışır 
    # ve kullanıcıların kayıt bilgilerinin saklanacağı veritabanının konfigürasyonu yapılır.
    mainDirPath = get_dir_path()
    userDb = sql_functions("{}Databases/users.db".format(mainDirPath))
    userDb.create_table("Users",("Date","TEXT"),("Email","TEXT"),("Username","TEXT"),("Name","TEXT"),("Surname","TEXT"),("Password","TEXT"))
Пример #9
0
    def __init__(self,userIndex,calculate = False,data_dict = None,toReset = False,*args, **kwargs):
        self.userIndex = userIndex
        self.returnValue = False
        self.resetResult = False
        self.objProcessor = objectProcessor(userIndex = self.userIndex)
        ###########################3
        #Paths
        self.path = get_dir_path()
        self.userObjectFolderPath = "{}Objects/user{}/".format(self.path,hex(self.userIndex)[2:])
        self.userProgressionPercentFilePath = "{}progressionPercentage.pkl".format(self.userObjectFolderPath)

        self.userClassificationObjectFolderPath = "{}ClassificationObjects/".format(self.userObjectFolderPath)
        self.classificationObjectPath = "{}generalSituationEstimator.pkl".format(self.userClassificationObjectFolderPath)

        self.userRegressionObjectFolderPath = "{}RegressionObjects/".format(self.userObjectFolderPath)
        self.regressionObjectPath = "{}regressionsDict.pkl".format(self.userRegressionObjectFolderPath)        
        ###########################3
        



        if toReset:
            self.resetResult = self.objProcessor.resetUserData()
        else:
            if calculate and isinstance(data_dict,dict):#Tahmin yapma dururmu

                self.data_dict = data_dict# Bu bir problem ya da gereksiz
                self.predictable_data_dict = self.findPredictableFrames()
                
                if self.predictable_data_dict != dict(): # Şartları sağlayıp sağlamadığını kontrol eder. 

                    if not self.objProcessor.userOBJFolder(control=True):#Obje dizini olmayanlar
                        self.objProcessor.userOBJFolder(create=True)
                    else:
                        #Burada bir uyarı ekranı yap.Çünkü objeler yeniden tanımlanır.Hatta bir progress bar yap.
                        self.objProcessor.userOBJFolder(create=True,query=False)
                    
                    wid = ProgressWidget()
                    wid.show()
                    wid.addProgression(10,"[+] Verim tahmini algoritmaları için uygun veri oluşturuldu.")
                    #self.datasetAdjusterWithPCA() # Verimsizlik sağlar
                    self.generalClassificationDataset = self.generalSituationsDataset
                    print(self.generalClassificationDataset)
                    wid.addProgression(10,"[+] Genel aktivite tahmini algoritması için uygun veri oluşturuldu.")
                    self.algorithmDict = self.findBestRegression
                    wid.addProgression(40,"[+] Şartları sağlayan aktivitelerin verim tahmin algoritmaları oluşturuldu.")
                    self.classificationEstimator = self.findBestClassification
                    wid.addProgression(30,"[+] Genel aktivite tahmini algoritması oluşturuldu.")
                    self.objProcessor.saveObjects(self.classificationEstimator,self.algorithmDict)
                    wid.addProgression(10,"[+] Oluşturulan algoritma objeleri kaydedildi.")



                else :
                    #Eğer tahmin şartları sağlanmamış ise
                    pass

            else:#Tahmin isteme durumu
                if self.objProcessor.userOBJFolder(control=True):
                    self.classificationEstimator,self.algorithmDict = self.objProcessor.loadObjects()
                    self.returnValue = True
                
                else:
                    #Eğer ki daha tahmin algoritması çalışmamış ve objeler oluşmamış ise
                    self.returnValue = False