-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Initial commit. Wish you well - Amir
- Loading branch information
Showing
3 changed files
with
233 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,212 @@ | ||
#!/usr/bin/env python2 | ||
# -*- coding: utf-8 -*- | ||
|
||
import sys | ||
import codecs as cs | ||
|
||
py_script_version = '1.0.0' | ||
|
||
vowelChars = { | ||
'Ά': 'A', | ||
'Α': 'A', | ||
'ά': 'a', | ||
'α': 'a', | ||
'Έ': 'E', | ||
'Ε': 'E', | ||
'έ': 'e', | ||
'ε': 'e', | ||
'Ή': 'H', | ||
'Η': 'H', | ||
'ή': 'h', | ||
'η': 'h', | ||
'Ϊ': 'I', | ||
'Ί': 'I', | ||
'Ι': 'I', | ||
'ΐ': 'i', | ||
'ϊ': 'i', | ||
'ί': 'i', | ||
'ι': 'i', | ||
'Ό': 'O', | ||
'Ο': 'O', | ||
'ό': 'o', | ||
'ο': 'o', | ||
'Ϋ': 'Y', | ||
'Ύ': 'Y', | ||
'Υ': 'Y', | ||
'ΰ': 'y', | ||
'ϋ': 'y', | ||
'ύ': 'y', | ||
'υ': 'y', | ||
'Ώ': 'W', | ||
'Ω': 'W', | ||
'ώ': 'w', | ||
'ω': 'w' | ||
} | ||
|
||
consonantChars = { | ||
'Β': 'B', | ||
'β': 'b', | ||
'Γ': 'G', | ||
'γ': 'g', | ||
'Δ': 'D', | ||
'δ': 'd', | ||
'Ζ': 'Z', | ||
'ζ': 'z', | ||
'Θ': 'Th', | ||
'θ': 'th', | ||
'Κ': 'K', | ||
'κ': 'k', | ||
'Λ': 'L', | ||
'λ': 'l', | ||
'Μ': 'M', | ||
'μ': 'm', | ||
'Ν': 'N', | ||
'ν': 'n', | ||
'Ξ': 'Ks', | ||
'ξ': 'ks', | ||
'Π': 'P', | ||
'π': 'p', | ||
'Ρ': 'R', | ||
'ρ': 'r', | ||
'Σ': 'S', | ||
'σ': 's', | ||
'ς': 's', | ||
'Τ': 'T', | ||
'τ': 't', | ||
'Φ': 'F', | ||
'φ': 'f', | ||
'Χ': 'X', | ||
'χ': 'x', | ||
'Ψ': 'Ps', | ||
'ψ': 'ps' | ||
} | ||
|
||
symbolChars = { | ||
';': '?', | ||
'·': '-', | ||
'«': '<<', | ||
'»': '>>' | ||
} | ||
|
||
writeArgChars = { | ||
'-w': 0, | ||
'--write': 1 | ||
} | ||
|
||
helpArgChars = { | ||
'-h': 0, | ||
'--help': 1 | ||
} | ||
|
||
versionArgChars = { | ||
'-v': 0, | ||
'--version': 1 | ||
} | ||
|
||
def version(): | ||
print py_script_version | ||
|
||
return sys.exit() | ||
|
||
|
||
def help(): | ||
print ' Version: ' + py_script_version | ||
print ' Usage: grklsh [options]? file1 file2 fileN' | ||
print ' Translate Greek into Greeklish and/or print on the standard output' | ||
print ' Options:' | ||
print ' -w, --write write to \'.grklsh\' files' | ||
print ' -h, --help output usage information' | ||
print ' -v, --version output the version number' | ||
|
||
return sys.exit() | ||
|
||
|
||
def readByCharToList(file_): | ||
data = [] | ||
f = cs.open(file_, 'r', 'utf-8') | ||
|
||
for line in f: | ||
data.extend(line) | ||
|
||
return data | ||
|
||
|
||
def toGreeklish(list_): | ||
flag = False | ||
tmp = [None] * 999999 #TODO fix static malloc | ||
|
||
for char in xrange(0, len(list_)): | ||
|
||
uchar = list_[char].encode('utf-8') | ||
|
||
if uchar in vowelChars: | ||
tmp[char] = vowelChars.get(uchar) | ||
elif uchar in consonantChars: | ||
tmp[char] = consonantChars.get(uchar) | ||
elif uchar in symbolChars: | ||
tmp[char] = symbolChars.get(uchar) | ||
else: | ||
tmp[char] = list_[char] | ||
|
||
if char == len(list_) - 1: | ||
flag = True | ||
|
||
return [c for c in tmp if c is not None], flag | ||
|
||
|
||
def main(args): | ||
flag = False | ||
|
||
if not len(args) > 0: | ||
while True: | ||
try: | ||
text = raw_input().decode('utf-8') | ||
newData, isTranlated = toGreeklish(list(text)) | ||
print ''.join(newData) | ||
except KeyboardInterrupt: | ||
print 'exit' | ||
sys.exit() | ||
|
||
for arg in args: | ||
if arg in writeArgChars: | ||
if len(args) > 1: | ||
flag = True | ||
continue | ||
else: | ||
print 'You need to specify which files to translate' | ||
sys.exit() | ||
elif arg in helpArgChars: | ||
help() | ||
elif arg in versionArgChars: | ||
version() | ||
|
||
try: | ||
# Translate list | ||
newData, isTranlated = toGreeklish(readByCharToList(arg)) | ||
|
||
if not flag: | ||
print 'File \'' + arg + '\'' + ':' + '\n' | ||
print ''.join(newData) | ||
print '----------------------------------------' + '\n' | ||
|
||
elif flag: | ||
if isTranlated: | ||
print '\'' + arg + '\' file has been translated successfully' | ||
|
||
# Write to file/s | ||
f = cs.open(str(arg) + '.grklsh', 'w', 'utf-8') | ||
flag = False | ||
for char in xrange(0, len(newData)): | ||
f.write(newData[char]) | ||
except IOError as e: | ||
print "I/O error({0}): {1} {2}"\ | ||
.format(e.errno, e.strerror, '\'' + arg + '\'') | ||
|
||
|
||
if __name__ == '__main__': | ||
main(sys.argv[1:]) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
Πράκτορες παρέκαμψαν τη χρέωση καρτών για την αγορά σνακ από τους αυτόματους πωλητές και τα έπαιρναν τζάμπα - Αποκαλύφθηκαν όταν μπήκαν κάμερες κοντά στα μηχανήματα και απολύθηκαν | ||
H Κεντρική Υπηρεσία Πληροφοριών των ΗΠΑ (CIA) παραδέχθηκε ότι έπεσε θύμα, για ένα διάστημα πολλών μηνών το 2013, κλεφτών με ιδιαίτερο ταλέντο στην πληροφορική, οι οποίοι άρπαξαν... σνακ αξίας 3.300 δολαρίων από τα μηχανήματα αυτόματης πώλησης των γραφείων της. | ||
|
||
Οι «κακοποιοί» έκλεβαν πατατάκια, σοκολάτες κι άλλα σνακ. Δεν επρόκειτο για μυστικούς πράκτορες ή πρώην κυνηγούς τζιχαντιστών αλλά για «υπεργολάβους» της CIA, όπως αποκαλύπτει έκθεση του γενικού επιθεωρητή της υπηρεσίας, η οποία δόθηκε αυτήν την εβδομάδα στη δημοσιότητα. | ||
|
||
Η έκθεση είδε το φως της δημοσιότητας έπειτα από αίτηση του δημοσιογράφου του ενημερωτικού ιστότοπου BuzzFeed, Τζέισον Λίοπολντ, βάσει του νόμου για την ελευθερία της πληροφόρησης (Freedom of Information Act). | ||
|
||
Οι πράκτορες πλήρωναν τα σνακ με μια προπληρωμένη κάρτα της εταιρείας FreedomPay. Ένας εξ αυτών ανακάλυψε ότι αποσυνδέοντας τα καλώδια από τα συστήματα άυλων πληρωμών της FreedomPay, τα μηχανήματα αυτόματης πώλησης δέχονταν κάρτες που δεν είχαν χρήματα. | ||
|
||
Ο δράστης μοιράστηκε την ιδέα του με φίλους του, οι οποίοι με τη σειρά του, αποσύνδεαν από το δίκτυο τα μηχανήματα και προμηθεύονταν δωρεάν τα σνακ της αρεσκείας τους. | ||
Η CIA μπόρεσε να ανακαλύψει την απάτη εγκαθιστώντας κάμερες κοντά στα μηχανήματα. | ||
|
||
Ο κλέφτης «ομολόγησε ότι η ιδέα αυτή του ήρθε (…) λόγω των γνώσεών του για τα συστήματα πληροφορικής». | ||
Τα μέλη του δικτύου εντοπίστηκαν, ανακρίθηκαν και κατόπιν απολύθηκαν. | ||
|
||
ΠΗΓΗ: ΑΠΕ-ΜΠΕ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
Η Python είναι μια υψηλού επιπέδου γλώσσα προγραμματισμού[1][2] η οποία δημιουργήθηκε από τον Ολλανδό Γκβίντο βαν Ρόσσουμ (Guido van Rossum) το 1990. Ο κύριος στόχος της είναι η αναγνωσιμότητα του κώδικά της και η ευκολία χρήσης της και το συντακτικό της επιτρέπει στους προγραμματιστές να εκφράσουν έννοιες σε λιγότερες γραμμές κώδικα απ'ότι θα ήταν δυνατόν σε γλώσσες όπως η C++ ή η Java.[3][4] Διακρίνεται λόγω του ότι έχει πολλές βιβλιοθήκες που διευκολύνουν ιδιαίτερα αρκετές συνηθισμένες εργασίες και για την ταχύτητα εκμάθησης της. | ||
|
||
Οι διερμηνευτές της Python είναι διαθέσιμοι για εγκατάσταση σε πολλά λειτουργικά συστήματα, επιτρέποντας στην Python την εκτέλεση κώδικα σε ευρεία γκάμα συστημάτων. Χρησιμοποιώντας εργαλεία τρίτων, όπως το Py2exe ή το Pyinstaller,[5] ο κώδικας της Python μπορεί να πακεταριστεί σε αυτόνομα εκτελέσιμα προγράμματα για μερικά από τα πιο δημοφιλή λειτουργικά συστήματα, επιτρέποντας τη διανομή του βασισμένου σε Python λογισμικού για χρήση σε αυτά τα περιβάλλοντα χωρίς να απαιτείται εγκατάσταση του διερμηνευτή της Python. | ||
|
||
Η Python αναπτύσσεται ως ανοιχτό λογισμικό (open source) και η διαχείρισή της γίνεται από τον μη κερδοσκοπικό οργανισμό Python Software Foundation. Ο κώδικας διανέμεται με την άδεια Python Software Foundation License η οποία είναι συμβατή με την GPL. Το όνομα της γλώσσας προέρχεται από την ομάδα άγγλων κωμικών Μόντυ Πάιθον. |