def startup(args=sys.argv[1:]): import optparse parser = optparse.OptionParser() parser.add_option("-l", "--listen", help="listening address:port", default="localhost:7770", dest="listening_addrinfo") parser.add_option("-c", "--connect", help="purple address:port", default="localhost:7771", dest="purple_addrinfo") parser.add_option("-s", help="does nothing. for compatibility", action="store_true", dest="dummy") options, args = parser.parse_args(args) tmp = options.listening_addrinfo.rsplit(":", 1) assert len(tmp) >= 2 listen_address = tmp[0] listen_port = int(tmp[1]) tmp = options.purple_addrinfo.rsplit(":", 1) assert len(tmp) >= 2 connect_address = tmp[0] connect_port = int(tmp[1]) if True: debuglog.init("Agent", title_color="cyan") log_info( "INSTALLING REACTOR...") from twisted.internet import reactor as _reactor global reactor reactor = _reactor yobotproto.yobot_proto_setlogger("Agent") svc = YobotServerService() log_info("connecting to purple at %s:%d" % (connect_address, connect_port)) reactor.connectTCP(connect_address, connect_port, svc.getYobotPurpleFactory()) log_info("listening on %s:%d" % (listen_address, listen_port)) reactor.listenTCP(listen_port, svc.getYobotServerFactory(), interface=listen_address) reactor.run()
def startup(args=sys.argv): import optparse options = optparse.OptionParser() options.add_option("-p", "--plugin", dest="selected_plugins", action="append", help="include this plugin") options.add_option("-U", "--username", dest="username", help="use this IM username") options.add_option("-P", "--password", dest="password", help="use this password") options.add_option("-I", "--improto", dest="improto", help="use this IM protocol [see documentation for a list]") options.add_option("-c", "--config-dir", dest="configdir", help="client configuration directory", default=yobot_interfaces.get_yobot_homedir()) options.add_option("--use-proxy", dest="use_proxy", action="store_true", help="use env proxy settings", default=False) options.add_option("--agent-address", dest="agent_addrinfo", help="agent server:port") options, args = options.parse_args(args) #set our configuration directory yobot_interfaces.component_registry.register_component("yobot-config-dir", options.configdir) if options.selected_plugins: #generate dict: name_object = {} for plugin in yobot_interfaces.component_registry.get_plugins(): name_object[plugin.plugin_name] = plugin for p in options.selected_plugins: plugin_object = name_object.get(p) if not plugin_object: log_warn("couldn't find plugin", p) continue yobot_interfaces.component_registry.activate_plugin(plugin_object) tmp = options.agent_addrinfo if tmp: tmp = tmp.rsplit(":", 1) address = tmp[0] if len(tmp) >= 2: port = int(tmp[1]) else: #no address specified on the command line address, port = None, None debuglog.init("Client", title_color="green") yobotproto.yobot_proto_setlogger("Client") ui = UIClient() ui.run(address, port)
the name of the object can be used, to declare special patches, such as light sources or particles emmiter for instance. TODO : - multiple objects - light sources ''' from struct import unpack from vector import Vec3 import numpy as np from ansiprint import warning import debuglog logger = debuglog.init(__name__) class Data: size = 0 def __init__(self, parent, data): self.parent = parent def __repr__(self): return self.__class__.__name__ class Main(Data): pass
#!/usr/bin/env python import sys try: sys.path.append("../") from debuglog import log_debug, log_err, log_warn, log_crit, log_info from gui_util import adjust_stylesheet_palette if __name__ == "__main__": import debuglog debuglog.init("Tabbed Windows", title_color="red") except ImportError, e: def log_generic(*args): print " ".join([str(a) for a in args]) log_debug = log_err = log_warn = log_crit = log_info = log_generic adjust_stylesheet_palette = lambda x: x log_err(e) import os if os.environ.get("USE_PYSIDE"): log_warn("Using PySide") from PySide.QtCore import * from PySide.QtGui import * else: from PyQt4.Qt import (QHBoxLayout, QTabBar, QWidget, QMainWindow, QFrame, QCursor, QVBoxLayout, QMenu, QPixmap, QApplication, QPoint, QPushButton, QSizePolicy, QTabWidget, QMenuBar, QLabel, QDrag, QTabBar, QAction, QPainter, QStyleOptionTab, QImage, QDesktopWidget, QRect) from PyQt4.QtCore import (QMimeData, QObject, SIGNAL, QPoint, Qt, QTimer, QSize, pyqtSignal)
def accept(self): #do some stuff first, like save if self.input_validated: self.config.save() QDialog.accept(self) else: QErrorMessage(self).showMessage("Bad input.. (somewhere?)") if __name__ == "__main__": import sys import client_config import simplejson import debuglog debuglog.init("config_dialog", "cyan") app = QApplication(sys.argv) config = client_config.ClientConfig("/tmp/yobot_client_config", autocreate=True) yobot_interfaces.component_registry.register_component("client-config", config) #create some more account objects.. a0 = {"name":"user0", "password":"******", "improto":"YOBOT_AIM", "autoconnect":True} a1 = a0.copy() a1["name"] = "user1" config.accounts.append(a0) config.accounts.append(a1)
''' ARIS Author: 𝓟𝓱𝓲𝓵.𝓔𝓼𝓽𝓲𝓿𝓪𝓵 @ 𝓕𝓻𝓮𝓮.𝓯𝓻 Date:<2018-05-18 15:52:43> Released under the MIT License ''' from OpenGL.GL import * from shadercompiler import ShaderCompiler from ctypes import sizeof, c_float, c_void_p, c_uint import debuglog log = debuglog.init(__name__) # goes in the c_size package uint_size = sizeof(c_uint) float_size = sizeof(c_float) """ Important : the order of attributes in the shader source matters. The attributes MUST be declared in the same order as the VBO packing occured : index are automatically bound to location exemple : vertex_offset = c_void_p(0 * float_size) tex_coord_offset = c_void_p(3 * float_size) normal_offset = c_void_p(6 * float_size) color_offset = c_void_p(9 * float_size) """ record_len = 12 * float_size # used for attributes locations var_size = {