-
Notifications
You must be signed in to change notification settings - Fork 1
/
absolum.py
executable file
·104 lines (79 loc) · 2.65 KB
/
absolum.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#! /usr/bin/env python
""" Absolum
Absolum is an Electronic Design Automation (EDA) Suite for Robotics
and Gadget Development.
Currently based on PyGTK, libgerbv, and a few other python modules.
What can I do with Absolum?
* Search for the right parts for your project from the top part distributors
* Create real-time BOMs with the latest prices
"""
__author__ = 'Jose.Torres@8bc.org (Jose Angel Torres)'
""" System Modules """
import argparse
import os
import sys
import vte
""" Absolum Modules """
from gerbv.viewer import GerberViewer
from gui.window import Main
from project.aslan import Aslan
from net.atomic_connect import AtomicHandler
# ============================================================================
class Absolum():
def __init__(self):
self.welcome()
def welcome(self):
print "Welcome to Absolum!\n \
* Always remember *Absolutely* Nothing is Impossible!"
# =====================================
# User Interface
def load_gui(self):
self._gui = Main()
def start_gui(self):
self._gui.start()
# =====================================
# Gerber Viewer
def load_gerber(self):
self._gerber_viewer = GerberViewer()
self._gerber_viewer.create_project()
self._gerber_viewer.open_layer_from_filename()
# =====================================
# Databases
def load_db(self):
pass
# =====================================
# Projects
def create_aslan(self):
self.aslan = Aslan()
# =====================================
# Networking
def create_handler(self):
self._atomic_handler = AtomicHandler()
# =====================================
# Terminal
# def start_terminal(self):
# self.term = vte.Terminal()
# self.term.fork_command("ps axf")
# gtk.main()
# ============================================================================
if __name__ == "__main__":
parser = argparse.ArgumentParser(
description='Absolum: The Robotic Design Suite')
args = parser.parse_args()
# Create Absolum
absolum = Absolum()
# Start........ Gerber Viewer
absolum.load_gerber()
# ............. GTK Window
# absolum.load_gui()
# ............. Networking
absolum.create_handler()
# ............. Terminal
# absolum.start_terminal()
# Init......... Databases
absolum.load_db()
# Create....... Project
absolum.create_aslan()
# Start Last... Gui
# absolum.start_gui()
# ============================================================================