OpenSecurity/bin/opensecurity_dialog.py
author om
Fri, 06 Dec 2013 10:51:15 +0100
changeset 13 4457d7071a23
child 16 e16d64b5e008
permissions -rw-r--r--
adopted server code and merged client into "bin"
om@13
     1
#!/bin/env python
om@13
     2
# -*- coding: utf-8 -*-
om@13
     3
om@13
     4
# ------------------------------------------------------------
om@13
     5
# opensecurity-dialog
om@13
     6
# 
om@13
     7
# an opensecurity dialog
om@13
     8
#
om@13
     9
# Autor: Oliver Maurhart, <oliver.maurhart@ait.ac.at>
om@13
    10
#
om@13
    11
# Copyright (C) 2013 AIT Austrian Institute of Technology
om@13
    12
# AIT Austrian Institute of Technology GmbH
om@13
    13
# Donau-City-Strasse 1 | 1220 Vienna | Austria
om@13
    14
# http://www.ait.ac.at
om@13
    15
#
om@13
    16
# This program is free software; you can redistribute it and/or
om@13
    17
# modify it under the terms of the GNU General Public License
om@13
    18
# as published by the Free Software Foundation version 2.
om@13
    19
# 
om@13
    20
# This program is distributed in the hope that it will be useful,
om@13
    21
# but WITHOUT ANY WARRANTY; without even the implied warranty of
om@13
    22
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
om@13
    23
# GNU General Public License for more details.
om@13
    24
# 
om@13
    25
# You should have received a copy of the GNU General Public License
om@13
    26
# along with this program; if not, write to the Free Software
om@13
    27
# Foundation, Inc., 51 Franklin Street, Fifth Floor, 
om@13
    28
# Boston, MA  02110-1301, USA.
om@13
    29
# ------------------------------------------------------------
om@13
    30
om@13
    31
om@13
    32
# ------------------------------------------------------------
om@13
    33
# imports
om@13
    34
om@13
    35
import argparse
om@13
    36
import os
om@13
    37
import sys
om@13
    38
om@13
    39
from PyQt4 import QtCore
om@13
    40
from PyQt4 import QtGui
om@13
    41
om@13
    42
# local
om@13
    43
from credentials import Credentials
om@13
    44
from environment import Environment
om@13
    45
from password import Password
om@13
    46
om@13
    47
om@13
    48
# ------------------------------------------------------------
om@13
    49
# code
om@13
    50
om@13
    51
om@13
    52
def main():
om@13
    53
    
om@13
    54
    # parse command line
om@13
    55
    parser = argparse.ArgumentParser(description = 'OpenSecurity Dialog.')
om@13
    56
    parser.add_argument('mode', metavar='MODE', help='dialog mode: \'password\' or \'credentials\'')
om@13
    57
    parser.add_argument('text', metavar='TEXT', help='text to show')
om@13
    58
    args = parser.parse_args()
om@13
    59
    
om@13
    60
    app = QtGui.QApplication(sys.argv)
om@13
    61
    
om@13
    62
    # prebuild the pixmap cache: fetch all jpg, png and jpeg images and load them
om@13
    63
    data_path = Environment("OpenSecurity").data_path
om@13
    64
    image_path = os.path.join(data_path, '..', 'gfx')
om@13
    65
    for file in os.listdir(image_path):
om@13
    66
        if file.lower().rpartition('.')[2] in ('jpg', 'png', 'jpeg'):
om@13
    67
            QtGui.QPixmapCache.insert(file.lower().rpartition('.')[0], QtGui.QPixmap(os.path.join(image_path, file)))
om@13
    68
            
om@13
    69
    # we should have now our application icon
om@13
    70
    app.setWindowIcon(QtGui.QIcon(QtGui.QPixmapCache.find('opensecurity_icon_64')))
om@13
    71
    
om@13
    72
    if args.mode == 'password':
om@13
    73
        dlg = Password(args.text)
om@13
    74
    
om@13
    75
    if args.mode == 'credentials':
om@13
    76
        dlg = Credentials(args.text)
om@13
    77
    
om@13
    78
    # pop up the dialog
om@13
    79
    dlg.show()
om@13
    80
    app.exec_()
om@13
    81
    
om@13
    82
    # give proper result code
om@13
    83
    if dlg.result() == QtGui.QDialog.Accepted:
om@13
    84
        res = 0
om@13
    85
    else:
om@13
    86
        res = 1
om@13
    87
    sys.exit(res)
om@13
    88
    
om@13
    89
om@13
    90
# start
om@13
    91
if __name__ == "__main__":
om@13
    92
    main()
om@13
    93