FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Fedora/Linux Management Tools

 
 
LinkBack Thread Tools
 
Old 03-11-2009, 04:43 AM
Takahashi Tomohiro
 
Default Fix check keymap option in virt-install

Hi,

I made the patch that corrected the following problem.
It is that virt-install hangs up, when I set keymap which doesn't
exist in keytable.
ex)
virt-install ... --keymap=abc

If you have any comments, please suggest me.

Signed-off-by: Tomohiro Takahashi <takatom@jp.fujitsu.com>

Thanks,
Tomohiro Takahashi
diff -r 143cad71a2a6 virtinst/_util.py
--- a/virtinst/_util.py Mon Mar 09 23:31:51 2009 -0400
+++ b/virtinst/_util.py Wed Mar 11 09:26:50 2009 +0900
@@ -206,3 +206,4 @@ is_storage_capable = util.is_storage_cap
is_storage_capable = util.is_storage_capable
get_xml_path = util.get_xml_path
lookup_pool_by_path = util.lookup_pool_by_path
+check_keytable = util.check_keytable
diff -r 143cad71a2a6 virtinst/cli.py
--- a/virtinst/cli.py Mon Mar 09 23:31:51 2009 -0400
+++ b/virtinst/cli.py Wed Mar 11 09:21:54 2009 +0900
@@ -351,7 +351,11 @@ def get_graphics(vnc, vncport, nographic
if vncport:
guest.graphics_dev.port = vncport
if keymap:
- guest.graphics_dev.keymap = keymap
+ checked_keymap = _util.check_keytable(keymap)
+ if checked_keymap:
+ guest.graphics_dev.keymap = checked_keymap
+ else:
+ raise ValueError, _("Didn't match keymap '%s' in keytable!" % keymap)

def get_sound(sound, guest):

diff -r 143cad71a2a6 virtinst/util.py
--- a/virtinst/util.py Mon Mar 09 23:31:51 2009 -0400
+++ b/virtinst/util.py Wed Mar 11 09:25:38 2009 +0900
@@ -392,26 +392,7 @@ def default_keymap():

kt = kt.lower()

- # Try a simple lookup in the keytable
- if keytable.keytable.has_key(kt.lower()):
- keymap = keytable.keytable[kt]
- else:
- # Try a more intelligent lookup: strip out all '-' and '_', sort
- # the keytable keys putting the longest first, then compare
- # by string prefix
- def len_cmp(a, b):
- return len(b) - len(a)
-
- clean_kt = kt.replace("-", "").replace("_", "")
- sorted_keys = sorted(keytable.keytable.keys(), len_cmp)
-
- for key in sorted_keys:
- origkey = key
- key = key.replace("-", "").replace("_","")
-
- if clean_kt.startswith(key):
- keymap = keytable.keytable[origkey]
- break
+ keymap = check_keytable(kt)

if not keymap:
logging.debug("Didn't match keymap '%s' in keytable!" % kt)
@@ -599,6 +580,31 @@ def lookup_pool_by_path(conn, path):
return p
return None

+def check_keytable(kt):
+ import keytable
+ keymap = None
+ # Try a simple lookup in the keytable
+ if keytable.keytable.has_key(kt.lower()):
+ return keytable.keytable[kt]
+ else:
+ # Try a more intelligent lookup: strip out all '-' and '_', sort
+ # the keytable keys putting the longest first, then compare
+ # by string prefix
+ def len_cmp(a, b):
+ return len(b) - len(a)
+
+ clean_kt = kt.replace("-", "").replace("_", "")
+ sorted_keys = sorted(keytable.keytable.keys(), len_cmp)
+
+ for key in sorted_keys:
+ origkey = key
+ key = key.replace("-", "").replace("_","")
+
+ if clean_kt.startswith(key):
+ return keytable.keytable[origkey]
+
+ return keymap
+
def _test():
import doctest
doctest.testmod()
_______________________________________________
et-mgmt-tools mailing list
et-mgmt-tools@redhat.com
https://www.redhat.com/mailman/listinfo/et-mgmt-tools
 
Old 03-18-2009, 02:54 PM
Cole Robinson
 
Default Fix check keymap option in virt-install

Takahashi Tomohiro wrote:
> Hi,
>
> I made the patch that corrected the following problem.
> It is that virt-install hangs up, when I set keymap which doesn't
> exist in keytable.
> ex)
> virt-install ... --keymap=abc
>
> If you have any comments, please suggest me.
>
> Signed-off-by: Tomohiro Takahashi <takatom@jp.fujitsu.com>
>

Applied now.

Thanks,
Cole

_______________________________________________
et-mgmt-tools mailing list
et-mgmt-tools@redhat.com
https://www.redhat.com/mailman/listinfo/et-mgmt-tools
 

Thread Tools




All times are GMT. The time now is 02:16 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org