9 def extract_list(list):
17 print("Usage: %s <command>" % (sys.argv[0]) )
21 print(" write <tag> <type> <...>")
22 print " If type is Text, parameters are <encoding> <language> <representation>"
23 print " If type is URI, parameters are <uri>"
24 print " If type is SmartPoster, parameters are <uri>"
25 print " If type is SMS, parameters are <phone number> <text>"
26 print " If type is E-Mail, parameters are <e-mail address>"
27 print " If type is MIME, and WiFi AP is passphrase protected"
28 print " Type is MIME, parameters are wifi_wsc <ssid> <passphrase>"
29 print " If type is MIME, and WiFi AP is open network"
30 print " Type is MIME, parameters are wifi_wsc <ssid>"
31 print "e.g. < %s /org/neard/nfc0/tag0 Text UTF-8 en-US hello,NFC! >" % (sys.argv[0])
32 print "e.g. < %s /org/neard/nfc0/tag0 URI http://www.nfc-forum.com >" % (sys.argv[0])
33 print "e.g. < %s /org/neard/nfc0/tag0 SmartPoster http://www.nfc-forum.com >" % (sys.argv[0])
34 print "e.g. < %s /org/neard/nfc0/tag0 SMS 0102030405 YourSMSMessage >" % (sys.argv[0])
35 print "e.g. < %s /org/neard/nfc0/tag0 E-Mail test@test.com >" % (sys.argv[0])
36 print "e.g. < %s /org/neard/nfc0/tag0 MIME wifi_wsc YourAPname passphrase >" % (sys.argv[0])
37 print "e.g. < %s /org/neard/nfc0/tag0 MIME wifi_wsc YourAPname >" % (sys.argv[0])
42 if (len(sys.argv) < 2):
45 if (sys.argv[1] == "list"):
46 if (len(sys.argv) < 3):
47 om = dbus.Interface(bus.get_object("org.neard", "/"),
48 "org.freedesktop.DBus.ObjectManager")
49 objects = om.GetManagedObjects()
50 for path, interfaces in objects.iteritems():
51 if "org.neard.Tag" not in interfaces:
54 print(" [ %s ]" % (path))
56 props = interfaces["org.neard.Tag"]
58 for (key, value) in props.items():
59 if key in ["ReadOnly"]:
60 if value == dbus.Boolean(1):
64 print(" %s = %s" % (key, val))
67 print(" %s = %s" % (key, value))
71 if (sys.argv[1] == "dump"):
72 if (len(sys.argv) < 3):
73 om = dbus.Interface(bus.get_object("org.neard", "/"),
74 "org.freedesktop.DBus.ObjectManager")
75 objects = om.GetManagedObjects()
76 for path, interfaces in objects.iteritems():
77 if "org.neard.Tag" not in interfaces:
80 print("[ %s ]" % (path))
81 neardutils.dump_all_records(path)
85 neardutils.dump_all_records(sys.argv[2])
89 if (sys.argv[1] == "write"):
90 if (len(sys.argv) < 5):
93 tag = neardutils.find_tag(sys.argv[2])
95 if sys.argv[3] in ["Text"]:
96 tag.Write(({ "Type" : "Text",
97 "Encoding" : sys.argv[4],
98 "Language" : sys.argv[5],
99 "Representation" : sys.argv[6] }))
101 elif sys.argv[3] in ["URI"]:
102 tag.Write(({ "Type" : "URI",
103 "URI" : sys.argv[4] }))
105 elif sys.argv[3] in ["SmartPoster"]:
106 tag.Write(({ "Type" : "SmartPoster",
107 "URI" : sys.argv[4] }))
109 elif sys.argv[3] in ["SMS"]:
110 URI = "sms:" + sys.argv[4] + "?body=" + sys.argv[5]
111 tag.Write(({ "Type" : "URI",
114 elif sys.argv[3] in ["E-Mail"]:
115 URI = "mailto:" + sys.argv[4]
116 tag.Write(({ "Type" : "URI",
119 elif sys.argv[3] in ["MIME"]:
120 if len(sys.argv) == 6:
121 if sys.argv[4] in ["wifi_wsc"]:
122 tag.Write(({ "Type" : "MIME",
123 "MIME" : "application/vnd.wfa.wsc",
124 "SSID" : sys.argv[5] }))
126 elif len(sys.argv) == 7:
127 if sys.argv[4] in ["wifi_wsc"]:
128 tag.Write(({ "Type" : "MIME",
129 "MIME" : "application/vnd.wfa.wsc",
130 "SSID" : sys.argv[5],
131 "Passphrase" : sys.argv[6] }))