Simple Not Found Response Page on CherryPY


class Root(object):

    _cp_config = {
        'error_page.404': lambda **x: "Halaman tidak ditemukan :("
    }

Advertisements

Using HTTPS on CherryPY

Here’s CherryPY app configuration for using HTTPS:


cherrypy.config.update({
  'server.ssl_module': 'builtin',
  'server.ssl_certificate': '/opt/myapp/conf/cert/cert.crt',
  'server.ssl_private_key': '/opt/myapp/conf/cert/cert.key',
})

for ssl module module you can use builtin or pyopensll (by installing pyOpenSSL module). Use this command if you want create self sign certificate.

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout cert.key -out cert.crt

Dump & Restore MongoDB With Specified Collection and DB

For example i have collection with name logs and db postfix, the output for dumped DB will be located to /tmp/backupmong


mongodump --out /tmp/backupmong/ --collection logs --db postfix

The command above will generating 2 files .bson and .metadata.json

Here’s the command for restoring the database (collection) by using .bson file.


mongorestore /tmp/backupmong/postfix/logs.bson -d anotherdb -c anotercol

[MongoDB] Insert new data as first index in existing Array

For instance if i have following simple data:

{ "_id" : ObjectId("56a9d168e7d029513ded52f3"), "first_roof" : [ { "seq" : [ "John", "Ben", "Lee" ] } ] }

Then to add/update array namely seq by using this query:

db.test.update({_id: ObjectId("56a9d168e7d029513ded52f3")} , {$push: {'first_roof.0.seq': { $each: ["Omar"], $position: 0  } }    } );

Where:

  • 56a9d168e7d029513ded52f3 : is ID for document that i want to modify.
  • $push : mongodb modifier to append data with target position that i want to change.
  • first_roof.0.seq: Injecting data into first index of array seq that located on first index of array first_roof
  • $each: specifying data that will be appended.
  • $position: use index 0 if you want to insert as first element.

Pengajian Pertama Kantor

Alhamdulillah kemarin dikantor berlangsung pengajian kantor perdana yang diisi oleh ust. Abdur Rohim Boesat. Lc, dari namanya memang sangat asing ditelinga saya, namun ketika bertemu rasanya pernah melihat ust. abdur disuatu tempat.

Dari materi yang dibawakan sudah terlihat jelas sudah bahwa beliau sudah cukup lama bergelut di dunia dakwah atau bisa saja disebut veteran mengingat memang usianya memasuki jangkuan seorang “kakek”, selain membawakan pengajian dengan tema “Perubahan” ust. Abdur mengarahkan kita agar tidak sia-sia dalam mengisi waktu karena Allah selalu menekankan pentingnya/berharganya waktu itu sehingga pada Al-quran Allah bersumpah dalam waktu, seperti wadduha, walfajr, wassubhi, wallail, wannahar, dll. dimana huruf “Wauw”  yang digunakan adalah “Wauw” taukid (penekanan).

Sebagai mana yang tertulis pada AlQuran, surat Al-Inshiqaq ayat 19 yang artinya “Sesungguhnya kamu melalui tingkat demi tingkat (dalam kehidupan)” dalam arti dalam kehidupan ini kita akan berkembang dalam berbagai macam aspek seperti sehingga pasti akan mengalami Perubahan-perubahan yang secara garis besar:

  • Waktu
  • Tempat
  • Fisik
  • Hati

Pertanyaannya adalah apakah ke cedrungan kita mengarah ke yang lebih baik atau sebaliknya. dan akan pada diposisi mana kita ketika nyawa kita dicabut.

 

Tidak jarang juga ust. abdur menanyakan beberapa istilah yang sering dipakai oleh kita namun ketika ditanya maknanya kita pun masih meraba-raba, yang paling mengena adalah istilah “Berkah” sebagaimana biasanya kita bilang “Harta yang berkah”, “Umur yang berkah”, dll.  Makna dari berkah adalah “sesuatu yang dapat menambah ketaqwaan/kedekatan kita terhadap Allah”.  Sehingga jika kita berkata “Semoga harta ini menjadi berkah” dalam artian semoga melalui perantara “harta yang dititipkan” dapat mendekatkan diri kepada Allah.

 

Wallahu A’lam.

[Zimbra] Sender Restriction to Distribution List

Distribution list in Zimbra is a mail grouping that makes broadcast mail much easier, but in some corporation there is restriction for limiting only for such user that can send mail to distribution list. If you are using zimbra Network Edition you may just using Zimbra Admin Console but CLI still best friend for those who using OSE 🙂 .

Grant user access for account omar@mymail.ok to send to such distribution list

zmprov grr dl distme@mymail.ok usr admin@mymail.ok sendToDistList

Revoking user access.

zmprov rvr dl distme@mymail.ok usr omar@jmymail.ok sendToDistList

Get access list (grants) to distribution list called distme@mymail.ok

zmprov gg -t dl distme@mymail.ok

Note:

  • You must activate Zimbra Milter Service for using this service.
  • i just using grantee-type usr (user) in this example, you may change to another grantee-type if you want to (grp, egp, all, dom, edom, gst, key, pub, email).
  • In every time the rights is changed you must reload mta service by run command zmmtact reload

[Django] Exception AppRegistryNotReady

I Just migrate all projects application into Django version 1.8, all  django apps are migrated smoothly but there is an error in simple my script that using Django ORM (used for background tasks).


...

django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.


 

After some searching in google this page helped me. so i just add these line of code on top of my django script.


import django
django.setup()