Beispiel #1
0
    def __getitem__(self, key):
        ti = ptah.get_type('type:%s'%key)

        if ti is not None:
            return Model(ti, self, self.request)

        raise KeyError(key)
Beispiel #2
0
    def __call__(self):
        subpath = self.request.subpath
        if subpath and subpath[0]:
            tname = subpath[0]
            tinfo = ptah.get_type('type:%s' % tname)
            if tinfo is None:
                return HTTPNotFound

            return AddContentForm(tinfo, self, self.request)()

        return super(Adding, self).__call__()
Beispiel #3
0
    def __call__(self):
        subpath = self.request.subpath
        if subpath and subpath[0]:
            tname = subpath[0]
            tinfo = ptah.get_type('type:%s'%tname)
            if tinfo is None:
                return HTTPNotFound

            return AddContentForm(tinfo, self, self.request)()

        return super(Adding, self).__call__()
Beispiel #4
0
    def test_tinfo(self):
        import ptah
        from ptah import tinfo
        import sqlalchemy as sqla

        @ptah.type('mycontent', 'MyContent')
        class MyContentSql(ptah.get_base()):

            __tablename__ = 'tinfo_sql_test'

            id = sqla.Column('id', sqla.Integer, primary_key=True)

        self.init_ptah()

        ti = ptah.get_type('type:mycontent')
        self.assertIs(ti.add_method, tinfo.sqla_add_method)
Beispiel #5
0
    def test_tinfo(self):
        import ptah
        from ptah import typeinfo
        import sqlalchemy as sqla

        @ptah.tinfo("mycontent", "MyContent")
        class MyContentSql(ptah.get_base()):

            __tablename__ = "tinfo_sql_test"

            id = sqla.Column("id", sqla.Integer, primary_key=True)

        self.init_ptah()

        ti = ptah.get_type("type:mycontent")
        self.assertIs(ti.add_method, typeinfo.sqla_add_method)
Beispiel #6
0
    def test_custom_fieldset(self):
        import ptah
        import sqlalchemy as sqla

        @ptah.tinfo('mycontent', 'MyContent')
        class MyContentSql(ptah.get_base()):

            __tablename__ = 'tinfo_sql_test2'

            id = sqla.Column(sqla.Integer, primary_key=True)
            test = sqla.Column(sqla.Unicode)

        self.init_ptah()

        ti = ptah.get_type('type:mycontent')
        self.assertIn('test', ti.fieldset)
Beispiel #7
0
    def test_tinfo(self):
        import ptah
        from ptah import typeinfo
        import sqlalchemy as sqla

        @ptah.tinfo('mycontent', 'MyContent')
        class MyContentSql(ptah.get_base()):

            __tablename__ = 'tinfo_sql_test'

            id = sqla.Column('id', sqla.Integer, primary_key=True)

        self.init_ptah()

        ti = ptah.get_type('type:mycontent')
        self.assertIs(ti.add_method, typeinfo.sqla_add_method)
Beispiel #8
0
    def test_custom_fieldset(self):
        import ptah
        import sqlalchemy as sqla

        @ptah.tinfo("mycontent", "MyContent")
        class MyContentSql(ptah.get_base()):

            __tablename__ = "tinfo_sql_test2"

            id = sqla.Column(sqla.Integer, primary_key=True)
            test = sqla.Column(sqla.Unicode)

        self.init_ptah()

        ti = ptah.get_type("type:mycontent")
        self.assertIn("test", ti.fieldset)
Beispiel #9
0
    def test_custom_fieldset(self):
        import ptah
        from ptah import tinfo
        import sqlalchemy as sqla

        @ptah.type('mycontent', 'MyContent')
        class MyContentSql(ptah.get_base()):

            __tablename__ = 'tinfo_sql_test2'

            id = sqla.Column(sqla.Integer, primary_key=True)
            test = sqla.Column(sqla.Unicode)

        self.init_ptah()

        ti = ptah.get_type('type:mycontent')
        self.assertIn('test', ti.fieldset)
Beispiel #10
0
    def test_sqla_add_method(self):
        import ptah
        import sqlalchemy as sqla

        @ptah.tinfo('mycontent', 'MyContent')
        class MyContentSql(ptah.get_base()):

            __tablename__ = 'tinfo_sql_test3'

            id = sqla.Column(sqla.Integer, primary_key=True)
            test = sqla.Column(sqla.Unicode)

        self.init_ptah()

        ti = ptah.get_type('type:mycontent')

        item = ti.add(MyContentSql(test='title'))
        sa = ptah.get_session()
        self.assertIn(item, sa)
Beispiel #11
0
    def test_sqla_add_method(self):
        import ptah
        import sqlalchemy as sqla

        @ptah.tinfo("mycontent", "MyContent")
        class MyContentSql(ptah.get_base()):

            __tablename__ = "tinfo_sql_test3"

            id = sqla.Column(sqla.Integer, primary_key=True)
            test = sqla.Column(sqla.Unicode)

        self.init_ptah()

        ti = ptah.get_type("type:mycontent")

        item = ti.add(MyContentSql(test="title"))
        sa = ptah.get_session()
        self.assertIn(item, sa)
Beispiel #12
0
    def test_tinfo(self):
        import ptah

        @ptah.tinfo('mycontent', 'MyContent')
        class Mycontent(object):
            pass

        self.init_ptah()

        all_types = ptah.get_types()

        self.assertTrue('type:mycontent' in all_types)

        tinfo = ptah.get_type('type:mycontent')

        self.assertEqual(tinfo.__uri__, 'type:mycontent')
        self.assertEqual(tinfo.name, 'mycontent')
        self.assertEqual(tinfo.title, 'MyContent')
        self.assertIs(tinfo.cls, Mycontent)
        self.assertIs(Mycontent.__type__, tinfo)
Beispiel #13
0
    def test_tinfo(self):
        import ptah

        @ptah.tinfo("mycontent", "MyContent")
        class Mycontent(object):
            pass

        self.init_ptah()

        all_types = ptah.get_types()

        self.assertTrue("type:mycontent" in all_types)

        tinfo = ptah.get_type("type:mycontent")

        self.assertEqual(tinfo.__uri__, "type:mycontent")
        self.assertEqual(tinfo.name, "mycontent")
        self.assertEqual(tinfo.title, "MyContent")
        self.assertIs(tinfo.cls, Mycontent)
        self.assertIs(Mycontent.__type__, tinfo)
Beispiel #14
0
    def test_sqla_add_method(self):
        import ptah
        from ptah import tinfo
        import sqlalchemy as sqla

        @ptah.type('mycontent', 'MyContent')
        class MyContentSql(ptah.get_base()):

            __tablename__ = 'tinfo_sql_test3'

            id = sqla.Column(sqla.Integer, primary_key=True)
            test = sqla.Column(sqla.Unicode)

        self.init_ptah()

        ti = ptah.get_type('type:mycontent')

        item = ti.add(MyContentSql(test='title'))
        sa = ptah.get_session()
        self.assertIn(item, sa)
Beispiel #15
0
    def test_custom_fieldset_namesFilter(self):
        import ptah
        import sqlalchemy as sqla

        def filter(n, names):
            return n != "test"

        @ptah.tinfo("mycontent", "MyContent", namesFilter=filter)
        class MyContentSql(ptah.get_base()):

            __tablename__ = "tinfo_sql_test22"

            id = sqla.Column(sqla.Integer, primary_key=True)
            test = sqla.Column(sqla.Unicode)
            test1 = sqla.Column(sqla.Unicode)

        self.init_ptah()

        ti = ptah.get_type("type:mycontent")
        self.assertIn("test1", ti.fieldset)
        self.assertNotIn("test", ti.fieldset)
Beispiel #16
0
    def test_custom_fieldset_namesFilter(self):
        import ptah
        import sqlalchemy as sqla

        def filter(n, names):
            return n != 'test'

        @ptah.tinfo('mycontent', 'MyContent', namesFilter=filter)
        class MyContentSql(ptah.get_base()):

            __tablename__ = 'tinfo_sql_test22'

            id = sqla.Column(sqla.Integer, primary_key=True)
            test = sqla.Column(sqla.Unicode)
            test1 = sqla.Column(sqla.Unicode)

        self.init_ptah()

        ti = ptah.get_type('type:mycontent')
        self.assertIn('test1', ti.fieldset)
        self.assertNotIn('test', ti.fieldset)
Beispiel #17
0
    def test_tinfo(self):
        import ptahcms

        global MyContent

        class MyContent(ptahcms.Content):

            __type__ = ptahcms.Type("mycontent", "MyContent")

        self.init_ptah()

        all_types = ptah.get_types()

        self.assertTrue("type:mycontent" in all_types)

        tinfo = ptah.get_type("type:mycontent")

        self.assertEqual(tinfo.__uri__, "type:mycontent")
        self.assertEqual(tinfo.name, "mycontent")
        self.assertEqual(tinfo.title, "MyContent")
        self.assertEqual(tinfo.cls, MyContent)
Beispiel #18
0
    def test_custom_fieldset_namesFilter(self):
        import ptah
        from ptah import tinfo
        import sqlalchemy as sqla

        def filter(n, names):
            return n != 'test'

        @ptah.type('mycontent', 'MyContent', namesFilter=filter)
        class MyContentSql(ptah.get_base()):

            __tablename__ = 'tinfo_sql_test22'

            id = sqla.Column(sqla.Integer, primary_key=True)
            test = sqla.Column(sqla.Unicode)
            test1 = sqla.Column(sqla.Unicode)

        self.init_ptah()

        ti = ptah.get_type('type:mycontent')
        self.assertIn('test1', ti.fieldset)
        self.assertNotIn('test', ti.fieldset)