Skip to content

Instantly share code, notes, and snippets.

View l34marr's full-sized avatar

TsungWei Hu l34marr

View GitHub Profile
@l34marr
l34marr / plone-on-codio-installer.sh
Created June 25, 2014 07:34
Plone Installer for Codio
# spinner borrowed from http://fitnr.com/showing-a-bash-spinner.html
spinner()
{
local pid=$1
local delay=0.75
local spinstr='|/-\'
while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do
local temp=${spinstr#?}
printf " [%c] " "$spinstr"
@l34marr
l34marr / ubuntu.sh
Last active November 18, 2020 07:14
Package List After Fresh Installation
sudo apt-get update
sudo apt-get -y install openssh-server vim curl screen
sudo apt-get -y install build-essential libssl-dev libxml2-dev libxslt1-dev libbz2-dev zlib1g-dev
# Ubuntu 20.04 selecting 'python-dev-is-python2' instead of 'python-dev'
sudo apt-get -y python-dev-is-python3
# Ubuntu 20.04 switching OK via sudo apt autoremove
sudo apt-get -y install libjpeg62-dev
# Ubuntu 18: libreadline6; Ubuntu 20: libreadline (v8)
sudo apt-get install libreadline
# Ubuntu 16: python-imaging; Ubuntu 18: python-pil; Ubuntu 20: python3-pil
@l34marr
l34marr / getMember.py
Last active August 29, 2015 14:03
Add Plone Members Programmatically, Tested on Plone 4.3.3. Prepare Your Own member.csv, and Run bin/plonectl run regBatch.py
from Products.CMFCore.utils import getToolByName
membership = getToolByName(app.mysite, 'portal_membership')
for member in membership.listMembers():
print member.getProperty('id'), member.getProperty('fullname'), member.getProperty('email')
@l34marr
l34marr / updateAddress.py
Last active August 29, 2015 14:04
Check and Update Address from PostgreSQL to ZODB
from Testing import makerequest
root = makerequest.makerequest(app)
site = root.mysite
admin = root.acl_users.getUserById('admin')
admin = admin.__of__(site.acl_users)
from AccessControl.SecurityManagement import newSecurityManager
newSecurityManager(None, admin)
from zope.site.hooks import setHooks
@l34marr
l34marr / aggregate_view.pt
Last active August 29, 2015 14:04
Aggregate View
<html lang="en"
xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
xmlns:tal="http://xml.zope.org/namespaces/tal"
xmlns:metal="http://xml.zope.org/namespaces/metal"
xmlns:i18n="http://xml.zope.org/namespaces/i18n"
metal:use-macro="here/main_template/macros/master"
i18n:domain="my.content">
<body>
@l34marr
l34marr / multilingual_import.py
Created October 7, 2014 15:00
script for creating plone.app.multilingual items from csv file
from Testing import makerequest
root = makerequest.makerequest(app)
site = root.mysite
admin = root.acl_users.getUserById('admin')
admin = admin.__of__(site.acl_users)
from AccessControl.SecurityManagement import newSecurityManager
newSecurityManager(None, admin)
@l34marr
l34marr / index.html
Last active August 29, 2015 14:11
HTML and CSS Tutorial
<html>
<head>
<title>Simplest HTML Page</title>
</head>
<body>
<h1 style="color: Red">My First HTML Page</h1>
<p>English Paragraph Goes Here. So You Can Learn That:
<ol>
<li style="color: Red">h1 Means Heading One</li>
<li>p Means Paragraph</li>
@l34marr
l34marr / update-geo.py
Created February 5, 2015 06:15
Setting Geo Data with Plone Maps collective.geo.*
from Testing import makerequest
from AccessControl.SecurityManagement import newSecurityManager
from Products.CMFCore.utils import getToolByName
root = makerequest.makerequest(app)
site = root.mysite
admin = root.acl_users.getUserById('admin')
admin = admin.__of__(site.acl_users)
newSecurityManager(None, admin)
@l34marr
l34marr / ipython.rst
Last active June 9, 2022 13:49
IPython

Installation

Basic Concepts

>>> a = 1
# What's the difference between the following operations?
In [1]: print a
In [2]: a
import computer as tool
def hacker(problem):
’’’ a generator
’’’
try:
tool.fix(problem)
except:
report(bug)
yield patch # don’t reboot it