Develop an Ethereum smart contract with Flask and Vyper

Posted on Sun 27 June 2021 in ETH • Tagged with Etherum, Vyper, Blockchain

This is an updated version of Neha Ghogales blog post How to develop Ethereum contract using Python Flask?

Requirements:

  • Python 3.9
  • Web3 (version 5.x)
  • Node (version 10) - Used for Ganache
  • Ganache (as personal Etherum blockchain for testing)

Installation:

Create a Python virtual environment and install dependencies:

$ python -m …

Continue reading

Use vyper as Python library

Posted on Fri 25 June 2021 in ETH • Tagged with Etherum, Vyper, Blockchain

This article shows how the vyper langunge can be used within a Python script.


Continue reading

Create HTML Tiles for Plone (Mosaic)

Posted on Sun 06 March 2016 in Plone • Tagged with Plone, Mosaic, Plone5, Development

The new kid on the block for creating flexible layouts in Plone is plone.app.mosaic. It is available for Plone 5 as an addon and will be included in a future version of core Plone.

With the product site integrators can prepare layouts for editors to be filled with …


Continue reading

Run Plone 5 with WSGI

Posted on Mon 22 June 2015 in Plone • Tagged with Plone, WSGI, Plone5, Deployment

Now Zope has documented support of WSGI deployment, Plone can have it too. To make it happen we can use a minimal buildout with some minor adjustments:

[buildout]
parts = instance
extends = http://dist.plone.org/release/5-latest/versions.cfg

[instance]
recipe = plone.recipe.zope2instance
http-address =
eggs =
  Plone
  Pillow

[wsgiconf]
recipe …

Continue reading

Workaround setuptools 8.0 bug with zc.buildout

Posted on Sat 13 December 2014 in Plone • Tagged with Plone, setuptools, workaround

Buildout always fetches the latest version of setuptools for bootstraping. No matter what is defined in versions.cfg. It is possible to set the version of zc.buildout when bootstraping but not the one of setuptools.

This behavior is hardcoded in bootstrap.py.

77 ez = {}
78 exec(urlopen('https://bootstrap …

Continue reading

Porting tests to plone.app.testing for Plone 5

Posted on Wed 15 October 2014 in Plone • Tagged with Plone, Testing, Plone5

A major version of a piece of software always means to leave behind some burdon. Plone ships with two testing framworks since Plone 4. Now it is time to get rid of one of them: PloneTestCase. With the newer plone.app.testing framework it is possible to specify layers to …


Continue reading

Fixing a broken toplevel acl_users

Posted on Mon 25 March 2013 in Plone • Tagged with Plone, Authentication

Sometimes someone forgets his admin password. This is easy to reset with the adduser command of Zope. But what if someone removes the top level ZODB user manager? Use this commands to restore it in debug mode:

Start instance in debug mode:

$ bin/instance debug

Add a new ZODB user …


Continue reading

Stumbling upon TextIndexNG3s ranking features

Posted on Wed 25 May 2011 in Plone • Tagged with Index, Plone

For a Plone site I use TextIndexNG3 for the fulltext index with the ranking support (txng.ranking.cosine) turned on. Searching content worked fine on the development box but when transferred to the live box, some mysterious things happened. Some of the documents were not found and strangely with the …


Continue reading

New Book: "Plone 3 Multimedia"

Posted on Fri 11 June 2010 in Plone • Tagged with Multimedia, Plone

I was tired of reading and answering all the p4a related questions on the Plone user mailing list and wrote a book about it ;-).

The book is now available:

[caption id="attachment_60" align="alignnone" width="243" caption="Plone 3 Multimedia Cover"]|Plone 3 Multimedia Cover|[/caption]

In the book you …


Continue reading

Using five.grok views as default views

Posted on Tue 08 June 2010 in Plone • Tagged with Grok, Plone

Once you get used to the power of grok in Plone via five.grok you never want to miss it and use it for all and everything. Unfortunately it is currently not possible to use grok views as default views via CMFDynamicViewFTI.

To nevertheless use them you have to do …


Continue reading