вторник, 5 ноября 2013 г.

Повседневные программы CLI

Установил Xmonad window manager и теперь стало очень актуально, как запускать всякие повседневные пользовательские задачи из коммандной строки (And how to configure f*kin russian keyboard layout and pretty fonts =)))
Тут я буду выкладывать то, что использую таким образом.
  1. eog
    просмотр изображений
  2. mplayer
    простейший медиаплеер. забавно писать скрипты с пользовательской оболочкой вокруг него.
  3. amixer and alsamixer
    аудио микшеры. первый - строго cli. Второй работает в терминале, но имеет userfriendly интерфейс.

pymongo getting started

  1. установка mongodb и pymongo MongoDB пока пропустим, см. их мануал.
    Pymongo:
    sudo apt-get install python-setuptools # если еще нет йих
    sudo easy_install pymongo
       
  2. Готовим котов
    import mongodb
    from mongodb import MongoClient
    client = MongoClient()                    # если монга крутится на локальной машине и стандартном порту
    client = MongoClient('hostname', 27017)   # если нужно эти параметры специфицировать
                                              # и юзать БД с удаленного хоста
    client.database_names()                   # посмотрим, что за базы есть в этой вашей монге
    db = client.db_chosen_name                # выбираем базу для работы
    db.collection_names()                     # смотрим, какие коллекции в энтой вашей базе есть
    collection = db.test_collection           # выбрали одну
    collection = db.['my.col-test']           # то же самое, но работает и с именами, в которых есть точки          
      
  3. Добавим документ в базу
    db = client.mydb                          # выбрали базу, если такой не было, она создается
    users = db["users"]                       # коллекция users. если не было - создается
    user = {"name": "Vasia",
            "age": 43,
            "interests": ["vodka", "balalayka"],
            "pets": {"dog": "Tuzik",
                     "cat": "Mashka"}
           }
    _id = users.insert(user)                  # добавляем в базу, функция возвращает uuid
      
  4. Поиск в базе
    vasias = users.find({"name": "Vasia"})          # возвращает итератороподобный объект
    old_peaple = users.find({"age": {"$gt": 60}})   # все документы с полем "age" > 60
    tuzik_owner = users.find({"pets.dog": "Tuzik"}  # поиск по вложенным полям
    old_people.count()                              # сколько же их нашлось?
    tuzik_owners.sort("age")                        # отсортировать по возрасту всех владельцев Тузиков
     
Полная документация по pymongo(eng)