[gnoduino] add support for native boards.txt file
- From: Lucian Langa <lucilanga src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnoduino] add support for native boards.txt file
- Date: Sat, 3 Mar 2012 21:37:28 +0000 (UTC)
commit 3562ef97a71ca614acd023085471786e494f8f02
Author: Lucian Langa <lucilanga gnome org>
Date: Sat Mar 3 20:10:21 2012 +0100
add support for native boards.txt file
src/board.py | 50 +++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 45 insertions(+), 5 deletions(-)
---
diff --git a/src/board.py b/src/board.py
index 526bb05..e359556 100644
--- a/src/board.py
+++ b/src/board.py
@@ -1,5 +1,5 @@
# Arduino python implementation
-# Copyright (C) 2010 Lucian Langa <cooly gnome eu org>
+# Copyright (C) 2010-2012 Lucian Langa <cooly gnome eu org>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@@ -33,6 +33,16 @@ class Board(object):
self.boards = []
self.programmers = []
self.defaults = []
+ try:
+ self.boards.extend(self.readArduinoBoards())
+ except:
+ self.boards.extend(self.readGnoduinoBoards())
+ self.p = prefs.preferences()
+ if config.cur_board == -1:
+ config.cur_board = self.getBoardIdByName(self.p.getSafeValue("board", "uno")) - 1
+
+ def readGnoduinoBoards(self):
+ boards = []
conf = ConfigParser.RawConfigParser()
path = misc.getArduinoFile("BOARDS")
if path is None: raise SystemExit(_("Cannot load BOARDS file. Exiting."))
@@ -44,11 +54,41 @@ class Board(object):
v = dict(conf.items(i))
v['id'] = c
v['desc'] = i
- self.boards.append(v)
+ boards.append(v)
c = c + 1
- self.p = prefs.preferences()
- if config.cur_board == -1:
- config.cur_board = self.getBoardIdByName(self.p.getSafeValue("board", "uno")) - 1
+ return boards
+
+ def readArduinoBoards(self):
+ boards = []
+ try:
+ f = open(misc.getArduinoFile("hardware/arduino/boards.txt"))
+ q = []
+ z = []
+ for c in f.readlines():
+ if c!='\n':
+ l = ""
+ line = c.strip("#").split('\n')[0]
+ if line != "":
+ l = line.split("=")
+ z.append(l)
+ q.append(l[0].split(".")[0])
+
+ k = 1
+ for i in sorted(set(q), reverse=True):
+ w = dict()
+ for c in z:
+ if c[0].split(".")[0] == i:
+ var = c[0].split(".")[-1]
+ if var == "name":
+ w['name'] = i
+ w['desc'] = c[1]
+ else:
+ w[var] = c[1]
+ w['id'] = k
+ k += 1
+ boards.append(w)
+ return boards
+ except: return None
def getBoards(self):
return self.boards
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]