Skip to content

Simple single-file python2 plugin for Gnome Planner to supply an interactive context-aware Python console for Gnome Planner in GTK2.

Notifications You must be signed in to change notification settings

asctime/Gnome-Planner-Python-Console

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

Interactive Python Console for Gnome Planner, itself written in pure Python

A simple single-file python2 plugin for Gnome Planner to supply an interactive context-aware Python console for Gnome Planner in GTK2.

This interactive console plugin runs as a contextual, interactive plugin for Gnome Planner. Install to planner resource folder "python" subfolder (create if missing) and access from "View" -> "Python Shell". It receives live objects (window, application) and the Python C extensions planner (libplanner bindings: Project, Task, Resource, Assignment, calendars, properties, load/save/export, scheduling hooks, GObject signals) and, if installed to Python 2.7 site-packages, plannerui (UI bindings: access to the main window, views, GtkUIManager/actions, selection, and other widgets), enabling you to inspect and modify the active project in real time (e.g., iterate tasks, create/update items, trigger recalculation, attach to signals, or add temporary UI actions) without leaving Planner. Settings (foreground/background, font size, history path) are persisted to planner-python-shell.ini under the Planner user config directory, and File -> Open File… executes helper scripts in the same live namespace. Limitations/notes: Python 2.7 and GTK2 only; API surface varies by build and OS (names/types may differ between MinGW64 and Linux); code runs on the main GUI thread (long operations will block - prefer small calls or gobject.idle_add/chunking); there’s no sandbox (mutations are immediate - work on a copy and save explicitly); ABI mismatches of planner/plannerui can cause import/runtime errors - install the exact binaries matching your Planner/GTK stack; for stability, wrap mutating ops in try/except, avoid tight loops, and keep history files on a writable local path.

Printout from planner module (loaded on startup)

dir(planner) ['Application', 'Assignment', 'CONSTRAINT_ALAP', 'CONSTRAINT_ASAP', 'CONSTRAINT_FNLT', 'CONSTRAINT_MSO', 'CONSTRAINT_SNET', 'Calendar', 'Constraint', 'Day', 'ERROR_FAILED', 'ERROR_LOAD_FILE_DONT_EXIST', 'ERROR_LOAD_FILE_INVALID', 'ERROR_NO_FILE_MODULE', 'ERROR_SAVE_FILE_EXIST', 'ERROR_SAVE_WRITE_FAILED', 'ERROR_TASK_MOVE_FAILED', 'ERROR_TASK_RELATION_FAILED', 'Group', 'Interval', 'Object', 'PROPERTY_TYPE_COST', 'PROPERTY_TYPE_DATE', 'PROPERTY_TYPE_DURATION', 'PROPERTY_TYPE_FLOAT', 'PROPERTY_TYPE_INT', 'PROPERTY_TYPE_NONE', 'PROPERTY_TYPE_STRING', 'PROPERTY_TYPE_STRING_LIST', 'Project', 'Property', 'PropertyType', 'RELATION_FF', 'RELATION_FS', 'RELATION_NONE', 'RELATION_SF', 'RELATION_SS', 'RESOURCE_TYPE_MATERIAL', 'RESOURCE_TYPE_NONE', 'RESOURCE_TYPE_WORK', 'Relation', 'RelationType', 'Resource', 'STORAGE_DIRECT_WRITE', 'STORAGE_NONE', 'STORAGE_READABLE', 'STORAGE_READWRITE', 'STORAGE_SUPPORTS_ALL', 'STORAGE_SUPPORTS_PRIMARY', 'STORAGE_SUPPORTS_RESOURCE', 'STORAGE_SUPPORTS_TASK', 'STORAGE_WRITABLE', 'StorageModule', 'TASK_SCHED_FIXED_DURATION', 'TASK_SCHED_FIXED_WORK', 'TASK_TYPE_MILESTONE', 'TASK_TYPE_NORMAL', 'Task', 'TaskSched', 'TaskType', 'doc', 'file', 'name', 'package', 'mrp_calendar_copy', 'mrp_calendar_derive', 'mrp_day_get_all', 'mrp_day_get_nonwork', 'mrp_day_get_use_base', 'mrp_day_get_work', 'mrp_day_remove', 'mrp_resource_compare', 'mrp_task_compare', 'mrp_time_compose', 'mrp_time_current_time', 'mrp_time_format', 'mrp_time_from_string']

planner-python-console

About

Simple single-file python2 plugin for Gnome Planner to supply an interactive context-aware Python console for Gnome Planner in GTK2.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages