From e61b4e18e8f6a7dc46620a3728a0eac947ab2295 Mon Sep 17 00:00:00 2001 From: Swann Date: Thu, 7 Feb 2019 17:34:28 +0100 Subject: [PATCH] cleanup --- SerializePropertyGroup.py | 22 ------------- __init__.py | 20 ------------ dump_rna2xml.py | 66 -------------------------------------- img/basic.png | Bin 10048 -> 0 bytes main.py | 53 ------------------------------ net_components.py | 43 ------------------------- net_systems.py | 45 -------------------------- replication_system.py | 18 ----------- 8 files changed, 267 deletions(-) delete mode 100644 SerializePropertyGroup.py delete mode 100644 __init__.py delete mode 100644 dump_rna2xml.py delete mode 100644 img/basic.png delete mode 100644 main.py delete mode 100644 net_components.py delete mode 100644 net_systems.py delete mode 100644 replication_system.py diff --git a/SerializePropertyGroup.py b/SerializePropertyGroup.py deleted file mode 100644 index 6269412..0000000 --- a/SerializePropertyGroup.py +++ /dev/null @@ -1,22 +0,0 @@ -import sys -import os - - -thirdPartyDir = "C:\\Users\\slumber\\repos\\phd\src\\2019_rcf\\libs" - - - -if thirdPartyDir not in sys.path: - print('Adding local modules dir to the path') - sys.path.insert(0, thirdPartyDir) - - -import umsgpack -import bpy -import esper -from rna_xml import rna2xml - -try: - umsgpack.packb((getattr(bpy.data,'objects'))) -except: - pass \ No newline at end of file diff --git a/__init__.py b/__init__.py deleted file mode 100644 index 59a19d9..0000000 --- a/__init__.py +++ /dev/null @@ -1,20 +0,0 @@ -import bpy -bl_info = { - "name": "Sprite preview", - "author": "Cube Animation", - "version": (1, 0), - "blender": (2, 80, 0), - "location": "Properties > Object > Sprite Components", - "description": "Manage sprite components in blender", - "warning": "", - "wiki_url": "", - "category": "Cube Animation", -} - - -def register(): - pass - - -def unregister(): - pass diff --git a/dump_rna2xml.py b/dump_rna2xml.py deleted file mode 100644 index 0358dde..0000000 --- a/dump_rna2xml.py +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/bin/env python3 - -# ***** BEGIN GPL LICENSE BLOCK ***** -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software Foundation, -# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# Contributor(s): Campbell Barton -# -# ***** END GPL LICENSE BLOCK ***** - -# - -# This script dumps rna into xml. -# useful for finding bugs in RNA api. - -# Example usage -# blender some.blend --background -noaudio --python intern/tools/dump_rna2xml.py - -import os -import bpy -import rna_xml - - -def main(): - filename = os.path.splitext(bpy.data.filepath)[0] + ".xml" - - file = open(filename, 'w') - - if 1: - # blend file - rna_xml.rna2xml(file.write, - root_rna=bpy.data, - root_rna_skip={"window_managers"}) - else: - # theme. just another test - rna_xml.rna2xml(file.write, - root_rna=bpy.context.user_preferences.themes[0], - method='ATTR') - - file.close() - - # read back to ensure this is valid! - from xml.dom.minidom import parse - xml_nodes = parse(filename) - print("Written:", filename) - - # test reading back theme - if 1: - theme = xml_nodes.getElementsByTagName("Theme")[0] - rna_xml.xml2rna(theme, - root_rna=bpy.context.user_preferences.themes[0],) - -if __name__ == "__main__": - main() diff --git a/img/basic.png b/img/basic.png deleted file mode 100644 index 48395ef51f9d969fd2cfae8eb48c34c8dfd0af4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10048 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 F{tMU&FhT$T diff --git a/main.py b/main.py deleted file mode 100644 index a4a554f..0000000 --- a/main.py +++ /dev/null @@ -1,53 +0,0 @@ -import net_systems -import replication_system -import net_components -from libs.esper import esper -import zmq -import sys -import argparse -import time - -# TODO: Implement a manager class for each aspect (ex: Network_Manager) -# TODO: Is it right to implement server-client as ESC ?... -def main(): - # Argument parsing - parser = argparse.ArgumentParser( - description='Launch an instance of collaboration system') - parser.add_argument('-r', choices=list(net_components.Role), - type=net_components.Role, help='role for the instance ') - - args = parser.parse_args() - - instance_role = args.r - instance_context = zmq.Context() - - print("Starting a {} instance \n".format(instance_role)) - - # Create a World instance to hold everything: - world = esper.World() - - # Instantiate a Processor (or more), and add them to the world: - world.add_processor(net_systems.SessionSystem()) - world.add_processor(replication_system.ReplicationSystem()) - - # Instanciate a session entity - session = world.create_entity() - - world.add_component( - session, net_components.NetworkInterface(context=instance_context)) - world.add_component( - session, net_components.User(role=instance_role)) - - - # A dummy main loop: - try: - while True: - # Call world.process() to run all Processors. - world.process() - time.sleep(1) - except KeyboardInterrupt: - return - - -if __name__ == '__main__': - main() diff --git a/net_components.py b/net_components.py deleted file mode 100644 index a9a9311..0000000 --- a/net_components.py +++ /dev/null @@ -1,43 +0,0 @@ -import zmq -# from zmq.asyncio import Context, ZMQEventLoop -# import asyncio -from enum import Enum, auto - -class Role(Enum): - NONE = 'NONE' - SERVER = 'SERVER' - CLIENT = 'CLIENT' - - def __str__(self): - return self.value - -class Replication(Enum): - NONE = auto() - REPLICATED = auto() - REPNOTIFY = auto() - -class User: - def __init__(self, name="default", ip="localhost",role=Role.NONE): - self.name = name - self.role = role - -class NetworkInterface: - def __init__(self, host="*",context=None, socket_type=zmq.REP,protocol='tcp',port=5555): - self.host = host - self.context = context - self.socket = context.socket(socket_type) - - #TODO: Is this right to it here? - print("{}://{}:{}".format(protocol,host,port)) - self.socket.bind("tcp://*:5555") - -class Property: - def __init__(self, property=None, replication=Replication.NONE): - self.property = property - self.replication = replication - -class Function: - def __init__(self, function=None): - self.function = function - - diff --git a/net_systems.py b/net_systems.py deleted file mode 100644 index 73793c4..0000000 --- a/net_systems.py +++ /dev/null @@ -1,45 +0,0 @@ -import time -import asyncio - -import zmq -import zmq.asyncio - -import net_components -from libs.esper import esper - - -class SessionSystem(esper.Processor): - """ - Handle Client-Server session managment - """ - - def __init__(self): - super().__init__() - # Initialize poll set - - - # TODO: Use zmq_poll.. - def process(self): - # This will iterate over every Entity that has BOTH of these components: - for ent, (net_interface, user) in self.world.get_components(net_components.NetworkInterface,net_components.User): - if user.role is net_components.Role.SERVER: - print("Server loops") - try: - message = net_interface.socket.recv() - print("test") - except KeyboardInterrupt: - break - - print("test") - - if user.role is net_components.Role.CLIENT: - # Send reply back to client - socket.send(b"Hello") - - @asyncio.coroutine - def recv_and_process(): - sock = ctx.socket(zmq.PULL) - sock.bind(url) - msg = yield from sock.recv_multipart() # waits for msg to be ready - reply = yield from async_process(msg) - yield from sock.send_multipart(reply) diff --git a/replication_system.py b/replication_system.py deleted file mode 100644 index 624c994..0000000 --- a/replication_system.py +++ /dev/null @@ -1,18 +0,0 @@ -import zmq - -from libs.esper import esper - -class ReplicationSystem(esper.Processor): - """ - Handle Client-Server session managment - """ - - def __init__(self): - super().__init__() - # Initialize poll set - - - # TODO: Use zmq_poll.. - async def process(self): - # This will iterate over every Entity that has BOTH of these components: - print("test") \ No newline at end of file