Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- import sys
- def main(charsets):
- source_layout = sys.argv[1]
- passwd = sys.argv[2]
- if not source_layout in charsets:
- print("Charset {} not found".format(source_layout))
- print("Available charsets:", *charsets.keys())
- if checkpass(passwd, charsets) == 0:
- for charset in charsets:
- if charset == source_layout: continue
- charsetpass = ''
- for char in passwd:
- charsetpass = charsetpass + charsets[source_layout][charsets[charset].index(char)]
- print("keyboard: {}\tsystem: {}\ttext: {}".format(source_layout, charset, charsetpass))
- dvorak = ''' `1234567890[]',.pyfgcrl/=aoeuidhtns-\<;qjkxbmwvz~!@#$%^&*(){}"<>PYFGCRL?+AOEUIDHTNS_|>:QJKXBMWVZ''' # linux dvorak..
- dvorak_windows = ''' `1234567890[]',.pyfgcrl/=aoeuidhtns-\\\\;qjkxbmwvz~!@#$%^&*(){}"<>PYFGCRL?+AOEUIDHTNS_||:QJKXBMWVZ''' # windows dvorak..
- qwertz = ''' ^1234567890ß´qwertzuiopü+asdfghjklöä#<yxcvbnm,.-°!"§$%&/()=?`QWERTZUIOPÜ*ASDFGHJKLÖÄ'>YXCVBNM;:_'''
- qwerty = ''' `1234567890-=qwertyuiop[]asdfghjkl;'\\\\zxcvbnm,./~!@#$%^&*()_+QWERTYUIOP{}ASDFGHJKL:"||ZXCVBNM<>?'''
- charsets = {
- 'dvorak':dvorak,
- 'qwerty':qwerty,
- 'qwertz':qwertz,
- 'dvorak_windows':dvorak_windows
- }
- def checkpass(passwd, charsets):
- clear = True
- for c in passwd:
- for charset in charsets:
- if c not in charsets[charset]:
- print("Character {} not properly convertable to charset {}".format(c, charset))
- clear = False
- if not clear:
- return -1
- return 0
- def usage():
- print("Usage: {} typing_layout text".format(sys.argv[0]))
- if __name__ == '__main__':
- if not len(sys.argv) == 3:
- usage()
- else:
- main(charsets)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement