Χέοπα-Script χρησιμοποιείται για τον καθορισμό υποεντολές με ιδιαίτερη έμφαση στην web-style εφαρμογές. Η λειτουργικότητα είναι εμπνευσμένο από την manage.py σενάριο Django.
Χρήση:
Ένα απλό παράδειγμα για να προσθέσετε μια εντολή που εκτυπώνει "hello world":
από την εντολή εισαγωγής khufu.script, Διοικητής
command
def helloworld ():
& Nbsp? Εκτύπωσης "hello world"
αν __name__ == «__main__»:
& Nbsp?. Commander.scan (διεθνοποιημένων ()) τρέχει ()
Για να κάνετε μια πιο περίπλοκη εντολή που μπορείτε να χρησιμοποιήσετε κάτι παρόμοιο με argparse Python 2.7 είναι (επίσης διαθέσιμο στο 2.6).
argparse εισαγωγής
από την εντολή εισαγωγής khufu.script, Διοικητής
command
def foo (* argv):
& Nbsp? Αναλυτή = argparse.ArgumentParser ()
& Nbsp? Parser.add_argument (- x ', βοηθούν = «απλή εξέταση»,
& Nbsp? Προεπιλογή = «ναι», metavar = «x»)
& Nbsp? Ns = parser.parse_args (argv)
& Nbsp? # Κάνουμε κάτι
αν __name__ == «__main__»:
& Nbsp?. Commander.scan (διεθνοποιημένων ()) τρέχει ()
Εφόσον εντολές
Υπάρχουν επί του παρόντος δύο παρέχονται εργοστάσια εντολή.
& Nbsp? 1. make_reloadable_server_command (βλέπε παραπάνω σημείωση σχετικά με τις απαιτήσεις για runserver)
& Nbsp? 2. make_syncdb_command
Ένα τυπικό web app θα μπορούσε να χρησιμοποιήσετε αυτές τις εντολές ως εξής:
αν __name__ == «__main__»:
& Nbsp? Def createtables (session):
& Nbsp? Models.Base.metadata.create_all (session.bind)
& Nbsp? Ρυθμίσεις = init_settings ()
& Nbsp? Διοικητής = script.Commander ([script.make_reloadable_server_command (make_app),
& Nbsp? Script.make_syncdb_command (ρυθμίσεις [«spitter.db_session_factory»],
& Nbsp? Createtables)])
& Nbsp? Commander.scan (διεθνοποιημένων ())
& Nbsp? Commander.run ()
Τρέχοντας το σενάριο χωρίς args θα αποφέρει κάτι παρόμοιο με:
Εντολές:
& Nbsp? Runserver Εκτελέστε ένα επαναφορτιζόμενο ανάπτυξη web server.
& Nbsp? Syncdb ενημέρωση της βάσης δεδομένων
Τι είναι καινούργιο σε αυτή την έκδοση:.
- syncdb / upgradedb τώρα προβληματιστούν σχετικά με τη βάση δεδομένων πιο για να αποφευχθεί κυκλικές εξαρτήσεις μοντέλο
Τι είναι καινούργιο στην έκδοση 0.6.1:
- Προστέθηκε & quot? Rshell & quot? Εντολή για τη σύνδεση με έναν απομακρυσμένο διακομιστή rfoo και το έργο με ζωντανή τρέχει αντικείμενα
Τι είναι καινούργιο στην έκδοση 0.2.2:
- Ενημέρωση διευθύνσεις URL του έργου
Απαιτήσεις :
- Python
Τα σχόλια δεν βρέθηκε