Hi Dave,

I tried to ask this question to the cassandra users ml, but unfortunately I
can't send any message (the antispam system doesn't like me!).

All I know is that Cassandra uses the TCP Port 7000 for communication
between nodes, port 9160 for clients (pycassa for instance) and 8080 for
JMX.

Thomas

2010/12/30 Cowdens <dave.cow...@gmail.com>

>  I have not experimented with it.  Though i know little about it, my main
> question would be around its replication: does it use http protocols for
> replication, such that the replication wouldnt have problems getting through
> firewalls?
>
>  ------------------------------
> *From:* pythonocc-users-boun...@gna.org [mailto:
> pythonocc-users-boun...@gna.org] *On Behalf Of *Thomas Paviot
> *Sent:* Thursday, December 30, 2010 7:43 AM
> *To:* pythonOCC users mailing list.
> *Subject:* Re: [Pythonocc-users] writing OCC data to a db
>
> One more information: there are 2 high level clients for Cassandra/Thrift :
> Pycassa (http://github.com/pycassa/pycassa) and Telephus (
> http://github.com/driftx/Telephus).
>
>
> 2010/12/30 Thomas Paviot <tpav...@gmail.com>
>
>> A few months ago, I had a look to the Apache Cassandra project (
>> http://cassandra.apache.org/), contributed by Facebook, and the Thrift
>> API (http://thrift.apache.org/). It seems to be an interesting way to
>> design and deploy distributed databases seamlessly accessible from python.
>> Do anyone have experimented it?
>>
>> 2010/12/29 Dave Cowden <dave.cow...@gmail.com>
>>
>> I think that a distributed repository infrastructure is what's needed
>>> for robust sharing of objects and model data.  For sure, such
>>> repositories would likely be based on a database-- but the repo would
>>> need to expose crud ( create read update delete) functions via http,
>>> so it is firwall and internet friendly.
>>>
>>> On 12/29/10, jelle feringa <jelleferi...@gmail.com> wrote:
>>> > Hi,
>>> >
>>> > Recently I had enough of storing OCC's cad as files.
>>> > Sometimes all you need is a database.
>>> > Turns out that its really easy to do so. Perhaps its worth sharing how
>>> this
>>> > can be done...
>>> > Though this might be pretty trivial technically speaking, it can open
>>> up
>>> > interesting ways of collaborating on projects.
>>> >
>>> > -jelle
>>> >
>>> >
>>> > ================================================
>>> > from OCC.Utils.Topology import Topo
>>> >
>>> > __author__ = 'jdf'
>>> >
>>> >
>>> > from sqlalchemy import *
>>> > from sqlalchemy.ext.declarative import declarative_base
>>> > from sqlalchemy.orm import sessionmaker, scoped_session
>>> >
>>> > from OCC.Utils.Construct import make_cube
>>> > #from OCC.TopoDS import TopoDS_Shape
>>> > #
>>> > #TopoDS_Shape.__eq__ = lambda x: TopoDS_Shape.IsEqual(x)
>>> >
>>> > cube = make_cube(1,1,1)
>>> >
>>> > engine = create_engine('sqlite:///jelle.db')
>>> > Base = declarative_base(bind=engine)
>>> > Session = scoped_session(sessionmaker(engine))
>>> >
>>> > def comp_brep(brepA, brepB):
>>> >     import ipdb; ipdb.set_trace()
>>> >     print 'jajajaj',brepB, brepA
>>> >     return brepA.IsEqual(brepB)
>>> >
>>> > class Individual(Base):
>>> >     '''used to store data about an individual
>>> >     a row forms a generation
>>> >     '''
>>> >     __tablename__ = 'individual'
>>> >
>>> >     id = Column(Integer, primary_key=True)
>>> >     #name = Column(String)
>>> >     #fullname = Column(String)
>>> >     #password = Column(String)
>>> >     generation = Column(Integer)
>>> >     ancestor_a = Column(PickleType())
>>> >     ancestor_b = Column(PickleType())
>>> >     brep = Column(PickleType(mutable=False)) #comparator=comp_brep)) #)
>>> )
>>> >     fitness = Column(Float)
>>> >
>>> > Base.metadata.create_all()
>>> >
>>> >
>>> > indy = Individual()
>>> > indy.ancestor_a = 'parent_a'
>>> > indy.fitness = 12.
>>> > indy.ancestor_b = 'parent_a'
>>> > indy.generation = 1
>>> > #indy.id = 0
>>> > indy.brep = cube
>>> >
>>> > '''
>>> > to INSERT many rows very quickly, use the "executemany" style of
>>> > insertion:
>>> >
>>> >
>>> > connection.execute(table.insert(), [{'foo':'row1'}, {'foo':'row2'},
>>> > {'foo':'row3'}, ...])
>>> > '''
>>> >
>>> > s = Session()
>>> > # s.begin()
>>> > s.add(indy)
>>> > s.commit()
>>> > s.close()
>>> >
>>> > print('closed the previous db session\nlet\'s see if we can read back
>>> the
>>> > objects, that be cool...')
>>> >
>>> > engine = create_engine('sqlite:///jelle.db', echo=True)
>>> > Base = declarative_base(bind=engine)
>>> > Session = scoped_session(sessionmaker(engine))
>>> > s = Session()
>>> >
>>> > from OCC.BRep import BRep_Tool
>>> > bt = BRep_Tool().Pnt
>>> >
>>> > for indy in s.query(Individual):
>>> > print indy.id
>>> > for i in Topo(indy.brep).vertices():
>>> >     print bt(i).Coord()
>>> > ================================================
>>> >
>>>
>>> --
>>> Sent from my mobile device
>>>
>>> _______________________________________________
>>> Pythonocc-users mailing list
>>> Pythonocc-users@gna.org
>>> https://mail.gna.org/listinfo/pythonocc-users
>>>
>>
>>
>
> _______________________________________________
> Pythonocc-users mailing list
> Pythonocc-users@gna.org
> https://mail.gna.org/listinfo/pythonocc-users
>
>
_______________________________________________
Pythonocc-users mailing list
Pythonocc-users@gna.org
https://mail.gna.org/listinfo/pythonocc-users

Reply via email to