Portál AbcLinuxu, 4. května 2025 08:42

Virtual-ISO

6.5.2007 17:17 | Přečteno: 1989× | Programy | Výběrový blog | poslední úprava: 6.5.2007 17:20

Poslední dobou se kromě pythonu a pyqt4 zabývám i proti stranou. Tím myslím ruby a GTK2. Musím uznat, že myšlenka ruby, všechno je objekt se mi zamlouvá. Chvíli jsem přemýšlel, jaký malý skriptík si napsat, až mě nakonec nakopl jeden místní blog.

A tak jsem si vytvořil Virtual-ISO. Což je malý ruby script pro připojení iso obrazu. Psal jsem ho právě před chvíli, asi tak 10 minut, takže zatím toho moc neumí. A pravděpodobně ani víc umět nebude, protože nevím kčemu by mi to bylo. Ale na pohrátí je to fajn.

No a nakonec uvedu ještě kód a screenshot:


#!/usr/bin/ruby

require 'gtk2'
def OpenWindow(action)
  dialog = Gtk::FileChooserDialog.new("Vyber mountpoint",
                                     nil,
                                     action,
                                     nil,
                                     [Gtk::Stock::CANCEL, Gtk::Dialog::RESPONSE_CANCEL],
                                     [Gtk::Stock::OPEN, Gtk::Dialog::RESPONSE_ACCEPT])
  return dialog
end

def shellCommand(isoPath, mountPoint)
  system("gksu 'mount -t iso9660 #{isoPath} #{mountPoint} -o loop'")
end

class MainWindow < Gtk::Window
  def initialize()
    super()
    self.signal_connect("delete_event") do
      Gtk::main_quit
      false
    end
    self.title = "Virtual-ISO"
    self.border_width = 10
    #self.set_icon("cd.png")
    hBox1 = Gtk::HBox.new(false, 0)
    label = Gtk::Label.new("Select ISO Image ", true)
    dialog = OpenWindow(Gtk::FileChooser::ACTION_OPEN)
    dialog.signal_connect("file-activated") { self.takeIsoPath(dialog.filename) }
    button1 = Gtk::FileChooserButton.new(dialog)
    button1.current_folder = "/"
    button1.width_chars = 20
    button1.title = "Vyber ISO"
    hBox1.pack_start(label, true, true, 0)
    hBox1.pack_start(button1, true, true, 0)
    self.add(hBox1)
  end
  def takeIsoPath(path)
    isoPath = path
    dialog = OpenWindow(Gtk::FileChooser::ACTION_SELECT_FOLDER)
    if dialog.run == Gtk::Dialog::RESPONSE_ACCEPT
      mountPoint = dialog.filename
      dialog.destroy
      shellCommand(isoPath, mountPoint)
    else
      dialog.destroy
    end

  end
end

myWindow = MainWindow.new
myWindow.show_all
Gtk.main

       

Hodnocení: 80 %

        špatnédobré        

Obrázky

Virtual-ISO, obrázek 1

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

kouzer avatar 6.5.2007 18:54 kouzer | skóre: 11 | Mladá Boleslav
Rozbalit Rozbalit vše Re: Virtual-ISO
Odpovědět | Sbalit | Link | Blokovat | Admin
Ač Ruby neznám, tak kód vypadá pěkně. Ruby se mi líbí čím dál víc. :-)
Linux user #448944.
6.5.2007 19:27 neal_cz | skóre: 29
Rozbalit Rozbalit vše Re: Virtual-ISO
Odpovědět | Sbalit | Link | Blokovat | Admin
dialog s křidélky? :))
6.5.2007 20:15 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
Rozbalit Rozbalit vše Re: Virtual-ISO
Odpovědět | Sbalit | Link | Blokovat | Admin
A že se v tom kódu ta objektovost a vůbec další skvělosti ruby projevily, co? ;-)
kozzi avatar 6.5.2007 20:49 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: Virtual-ISO
JJ, objevila se tam jen tak 1/100 z toho co se mi na ruby líbí. Ale i to málo stačí, aby si něktěří řekli jak je se jim ten jazyk líbí ;-) .
Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
kouzer avatar 6.5.2007 21:13 kouzer | skóre: 11 | Mladá Boleslav
Rozbalit Rozbalit vše Re: Virtual-ISO
Kteří někteří? :-D Jinak pokud někoho zajímá Ruby a chce se podívat co umí a trošku něco zkusit, tak vřele doporučuji: http://tryruby.hobix.com/
Není tam sice všecko, ale jako ukázka je to moc pěkné. ;-)
Linux user #448944.
6.5.2007 21:20 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
Rozbalit Rozbalit vše Re: Virtual-ISO
Z ukázky to vypadá, že se jedná zase o jeden z těch hloupých jazyků(typu Python), co nejdou editovat jednoduchým editorem(typu VIM), protože používají místo závorek odsazování a tak když chce člověk přidat třeba jeden hloupý while(nebo cokoli takto triviálního), tak aby přeformátovával celý zbytek kódu.:-( Tím rozhodně nechci tvrdit, že se jedná o jazyk na nic, ale to nepoužívání závorek mi připadá docela hloupé.
Vojta Drbohlav avatar 6.5.2007 21:23 Vojta Drbohlav | skóre: 26 | blog: Blog | Strahov
Rozbalit Rozbalit vše Re: Virtual-ISO
V Ruby IMO na odsazení nezáleží.
kozzi avatar 6.5.2007 21:39 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
Rozbalit Rozbalit vše Re: Virtual-ISO
Vždyť ruby používá závorky. Jinak hraju si s pythonem a odsazování není problém, když požíváš dobrý IDE tak je to jednoduché, a alspoň to má pěknou čitelnost. Jinak i u jiných jazyků, když přidáš while, potřebuješ odsazení, aby byl kód čitelný.
Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
6.5.2007 22:18 azurIt | skóre: 34 | blog: zatial_bez_mena
Rozbalit Rozbalit vše Re: Virtual-ISO
preco by sa nedalo ? staci pouzit rovnake odsadzovanie, ako pouziva zvysok kodu. mas vari problem rozoznat tabulator od medzery ? :) nechapem preco by bolo nutne nieco preformatovavat.
kouzer avatar 7.5.2007 06:08 kouzer | skóre: 11 | Mladá Boleslav
Rozbalit Rozbalit vše Re: Virtual-ISO
Je to zajímavé, ale nikdy jsem neměl ve Vimu s ničím takovým prolbém. Navíc pokud si všimnete, tak Ruby použíná endy oproti Pythonu.
Linux user #448944.
7.5.2007 15:02 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Virtual-ISO
Ano, jazyky používající závorky se formátují automaticky a triviálně a dokonce ještě lépe než jazyky používající složené závorky. ;-) A stejně budou někteří nadávat, že se v nich nevyznají a že se špatně čtou. :-D

Jo a mimochodem, Ruby používá endy, takže jednoznačná stromová syntax zůstává i zde zachována. ;-)

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.