· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Nautilus Tips



1. Nautilus에서 한글 위키파일 이름 보기

전 위키를 로컬 머신에서 자료 정리용으로 사용합니다. 그래서 위키 페이지를 작성할 때도 로컬머신에서, 직접 vi로 열어서 작성하고 고치죠. 근데 위키 페이지 이름이 한글을 경우, 그것도 제가 사용하는 모인모인 위키의 경우에는 한글페이지이름을 모두 uri에 사용하기 위해서 quote시켜버리는 터라 한글페이지 이름이 숨어버리게 되더군요. 제가 "력사歷事"라는 페이지는 "_eb_a0_a5_ec_82_ac_e6_ad_b7_e5_8f_b2"로 저장되더군요. 그래서 python-nautilus extension으로 위키이름을 볼 수 있는 스크립트를 만들었습니다.




먼저 필요한 것들은,

  • Nautilus 2.6.0
  • Python 2.3.95 (이상)
  • PyGtk 2.3 (이상)
  • python-nautilus

모두 데비안 패키지들로 있는 것들입니다.
shell > apt-get install python2.3-gtk2 python2.3 python-nautilus nautilus
이렇게 설치가 끝나면, /usr/lib/nautilus/extensions-1.0/python 로 가서 여러 스크립트들을 확인합니다. 이 스크립트들을 참고해서 다른 extension들도 작성할 수 있겠죠.

아래 스크립트를 wikiName.py라는 이름으로 /usr/lib/nautilus/extensions-1.0/python 아래에 저장합니다.
import os, sre
import urllib

import nautilus

class WikiColumnExtension(nautilus.ColumnProvider, nautilus.InfoProvider):

   RE_WIKINAME = sre.compile("_[a-zA-Z0-9]{2}")

   def __init__(self):
      pass

   def get_columns(self):
      return nautilus.Column( \
         "NautilusPython::wikiname_column", \
         "wiki_name", "Wiki Name", "wiki name"),

   def update_file_info(self, file):
      if file.get_uri_scheme() != 'file':
         file.add_string_attribute('wiki_name', "")
         return

      __f = os.path.basename(urllib.unquote(file.get_uri()[7:]))

      if not self.RE_WIKINAME.findall(__f) :
         __filename = __f
      else :
         __filename = urllib.url2pathname(__f.replace("_", "%"))

      __filename0 = __filename[1:]

      b = sre.compile("[A-Z][a-z]").findall(__filename0.strip())
      for i in b :
         __filename0 = __filename0.replace(i[0], " %s" % i[0])

      __filename = __filename[0] + __filename0

      try :
         filename = unicode(__filename, "euc-kr").encode("utf-8")
      except :
         filename = __filename

      filename = filename.replace("/", " / ")

      file.add_string_attribute('wiki_name', filename)

그리고 나서 nautilus를 다시 시작합니다.
 shell > nautilus -q
nautilus로 위키 페이지가 있는 디렉토리로 이동해서, 메뉴 View->Visible Columns를 선택하고 "Wiki Name"을 적당한 위치로 옮겨주면, 모든 준비는 끝납니다.



ID
Password
Join
Promptness is its own reward, if one lives by the clock instead of the sword.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2005-04-18 23:51:27
Processing time 0.0044 sec