From db87f9e15b79827e947316c3ffba5b4ca49854b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Mon, 20 Feb 2017 08:19:36 -0300 Subject: [PATCH 01/57] init sample test case newsfeed_spec --- tests/configs/data/feed_test_newtimes.xml | 534 ++++++++++++++++++++++ tests/configs/modules/newsfeed/default.js | 38 ++ tests/e2e/modules/newsfeed_spec.js | 31 ++ 3 files changed, 603 insertions(+) create mode 100644 tests/configs/data/feed_test_newtimes.xml create mode 100644 tests/configs/modules/newsfeed/default.js create mode 100644 tests/e2e/modules/newsfeed_spec.js diff --git a/tests/configs/data/feed_test_newtimes.xml b/tests/configs/data/feed_test_newtimes.xml new file mode 100644 index 00000000..96b7dda6 --- /dev/null +++ b/tests/configs/data/feed_test_newtimes.xml @@ -0,0 +1,534 @@ + + + + NYT > Home Page + http://www.nytimes.com/pages/index.html?partner=rss&emc=rss + + + en-us + Copyright 2017 The New York Times Company + Tue, 21 Feb 2017 18:16:14 GMT + + NYT > Home Page + https://static01.nyt.com/images/misc/NYT_logo_rss_250x40.png + http://www.nytimes.com/pages/index.html?partner=rss&emc=rss + + + New Trump Deportation Rules Allow Far More Expulsions + http://www.nytimes.com/2017/02/21/us/politics/dhs-immigration-trump.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/21/us/politics/dhs-immigration-trump.html + + + Mexicans deported from the U.S. walked to a repatriation center in Tijuana in June 2016. + Guillermo Arias/Agence France-Presse — Getty Images + The rules authorize expelling undocumented immigrants who have committed even minor offenses, and they make it easier to deport people immediately. + RON NIXON and MICHAEL D. SHEAR + Tue, 21 Feb 2017 16:21:01 GMT + Deportation + Homeland Security Department + Immigration and Customs Enforcement (US) + Customs and Border Protection (US) + United States Politics and Government + + + Trump Speaks Out Against Anti-Semitism + http://www.nytimes.com/2017/02/21/us/politics/trump-speaks-out-against-anti-semitism.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/21/us/politics/trump-speaks-out-against-anti-semitism.html + + He made the comments after drawing criticism in recent days for failing to condemn the rise in anti-Jewish threats and actions. + JULIE HIRSCHFELD DAVIS + Tue, 21 Feb 2017 15:29:00 GMT + United States Politics and Government + National Museum of African American History and Culture + Anti-Semitism + Washington (DC) + + + Lawyers Take On Trump’s Travel Ban + http://www.nytimes.com/video/us/politics/100000004914792/trump-immigration-lawyer.html?partner=rss&emc=rss + http://www.nytimes.com/video/us/politics/100000004914792/trump-immigration-lawyer.html + The judiciary is the new front line: A group of lawyers scramble to get their clients into the country, while preparing a legal challenge to Trump’s immigration ban. + + Tue, 21 Feb 2017 06:57:04 GMT + Immigration and Emigration + Trump, Donald J + Executive Orders and Memorandums + Refugees and Displaced Persons + + + Riots Break Out in Stockholm Suburb, Drawing Attention to Trump’s Remarks + http://www.nytimes.com/2017/02/21/world/europe/stockholm-sweden-riots-trump.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/21/world/europe/stockholm-sweden-riots-trump.html + + + Burned cars on Tuesday in Rinkeby, a northwestern Stockholm suburb predominantly inhabited by immigrants. About 20 to 30 masked men threw stones and other objects at police officers in Rinkeby after the police arrested a man on suspicion of dealing drugs. + TT News Agency, via Reuters + The clash between the police and residents came two days after President Trump’s provocative claims about migration and crime in the country. + CHRISTINA ANDERSON + Tue, 21 Feb 2017 18:01:23 GMT + Demonstrations, Protests and Riots + Stockholm (Sweden) + Trump, Donald J + + + White House Memo: From an Anchor’s Lips to Trump’s Ears to Sweden’s Disbelief + http://www.nytimes.com/2017/02/20/world/europe/trump-pursues-his-attack-on-sweden-with-scant-evidence.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/20/world/europe/trump-pursues-his-attack-on-sweden-with-scant-evidence.html + + + A group of refugees walking on a highway in Denmark toward Sweden in 2015. Statistics in Sweden found no appreciable increase in crimes from 2015, when the country processed a record 163,000 asylum applications, to 2016. + Mauricio Lima for The New York Times + A diplomatic dispute with Sweden illustrates the unusual approach the president takes to foreign policy, as well as the influence that television can have on his thinking. + PETER BAKER and SEWELL CHAN + Tue, 21 Feb 2017 14:35:13 GMT + Immigration and Emigration + Trump, Donald J + Sweden + United States International Relations + United States Politics and Government + Fox News Channel + Carlson, Tucker + Horowitz, Ami + + + Europe Combats a New Foe of Political Stability: Fake News + http://www.nytimes.com/2017/02/20/world/europe/europe-combats-a-new-foe-of-political-stability-fake-news.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/20/world/europe/europe-combats-a-new-foe-of-political-stability-fake-news.html + + + Emmanuel Macron, center, a French presidential candidate, in southern France on Friday. The head of his party said Mr. Macron had been targeted by Russian news channels. + Franck Pennant/Agence France-Presse — Getty Images + The rise of sophisticated hacks and a torrent of fake news coincide with angry populist movements across the Continent, and officials are nervous. + MARK SCOTT and MELISSA EDDY + Mon, 20 Feb 2017 22:10:11 GMT + Rumors and Misinformation + News and News Media + European Union + Europe + + + Town Hall Briefing: Congressional Town Hall: Of Tums, Death Panels and ‘Shut Your Hole’ + http://www.nytimes.com/2017/02/21/us/politics/town-hall-protests-obamacare.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/21/us/politics/town-hall-protests-obamacare.html + + + Senator Charles E. Grassley at a town hall meeting in Iowa Falls, Iowa, on Tuesday. He addressed a standing-room-only crowd. + Scott Morgan for The New York Times + Several Republicans will be hearing from constituents on Tuesday, and reporters for The New York Times will be there to gauge the sentiment. + THOMAS KAPLAN, TRIP GABRIEL and LIZETTE ALVAREZ + Tue, 21 Feb 2017 18:10:24 GMT + Trump, Donald J + United States Politics and Government + Patient Protection and Affordable Care Act (2010) + Demonstrations, Protests and Riots + Blackburn, Marsha + Grassley, Charles E + Ross, Dennis A + Cassidy, Bill (1957- ) + + + For-Profit Schools, an Obama Target, See New Day Under Trump + http://www.nytimes.com/2017/02/20/business/for-profit-education-trump-devos.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/20/business/for-profit-education-trump-devos.html + + + Donald J. Trump at the announcement of the establishment of Trump University in 2005. As president-elect, he paid $25 million to settle three lawsuits against the now-defunct institution. + Bebeto Matthews/Associated Press + The Education Department, whose scrutiny has led hundreds of campuses to close, is now led by Betsy DeVos, who has investments in the industry. + PATRICIA COHEN + Tue, 21 Feb 2017 00:03:48 GMT + For-Profit Schools + Colleges and Universities + United States Politics and Government + Regulation and Deregulation of Industry + DeVos, Elizabeth (1958- ) + Trump, Donald J + + + Protesters Ready for Trump’s First Visit to New York as President + http://www.nytimes.com/2017/02/21/nyregion/protesters-ready-for-trumps-first-visit-to-new-york-as-president.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/21/nyregion/protesters-ready-for-trumps-first-visit-to-new-york-as-president.html + + + Congregation Beth Elohim in Brooklyn was filled on Feb. 6 for an evening of strategizing against President Trump. + Demetrius Freeman for The New York Times + The president has not set foot in the city since his inauguration, puzzling and emboldening some protesters in his hometown. + SARAH MASLIN NIR + Tue, 21 Feb 2017 14:12:26 GMT + Executive Orders and Memorandums + Immigration and Emigration + United States Politics and Government + Demonstrations, Protests and Riots + Trump Tower (Manhattan, NY) + Trump, Donald J + Fifth Avenue (Manhattan, NY) + New York City + + + Milo Yiannopoulos’s Pedophilia Comments Cost Him CPAC Role and Book Deal + http://www.nytimes.com/2017/02/20/us/politics/cpac-milo-yiannopoulos.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/20/us/politics/cpac-milo-yiannopoulos.html + + + Milo Yiannopoulos last month in Boulder, Colo. The Conservative Political Action Conference rescinded its invitation for him to speak to the group after his comments about pedophilia. + Jeremy Papasso/Daily Camera, via Associated Press + The publication of a video in which the contentious Breitbart News editor condoned sexual relations with boys seemed to be more than conference organizers could tolerate. + JEREMY W. PETERS, ALEXANDRA ALTER and MICHAEL M. GRYNBAUM + Tue, 21 Feb 2017 01:47:20 GMT + Yiannopoulos, Milo + Sex Crimes + Child Abuse and Neglect + United States Politics and Government + Conservative Political Action Conference + Simon & Schuster Inc + Dangerous (Book) + + + Unease Spreads in Atlanta as a City Contracting Scandal Brews + http://www.nytimes.com/2017/02/21/us/unease-spreads-in-atlanta-as-a-city-contracting-scandal-brews.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/21/us/unease-spreads-in-atlanta-as-a-city-contracting-scandal-brews.html + + + Mayor Kasim Reed of Atlanta delivering his State of the City address this month. An investigation into charges of bribery involving city contracts has prompted the mayor to defend his legacy. + Branden Camp/Atlanta Journal-Constitution, via Associated Press + A brick thrown through a window, dead rodents left on steps and a threat to a contractor have become symbols of a federal inquiry into bribery charges. + RICHARD FAUSSET + Tue, 21 Feb 2017 10:00:17 GMT + Politics and Government + Government Contracts and Procurement + Bribery and Kickbacks + Atlanta (Ga) + Kasim Reed + Elvin R. Mitchell Jr. + + + A Surprising Salve for New York’s Beleaguered Cities: Refugees + http://www.nytimes.com/2017/02/20/nyregion/a-surprising-salve-for-new-yorks-beleaguered-cities-refugees.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/20/nyregion/a-surprising-salve-for-new-yorks-beleaguered-cities-refugees.html + + + In early February a man wearing a keffiyeh walked past a mural that recalls a less diverse past in Buffalo. The self-described “City of Good Neighbors” has received more than 10,000 refugees over the last decade. + Nathaniel Brooks for The New York Times + Communities across upstate New York say an influx of refugees has helped alleviate decades-long struggles with dwindling populations and opportunities. + JESSE McKINLEY + Mon, 20 Feb 2017 20:54:01 GMT + Refugees and Displaced Persons + Immigration and Emigration + Trump, Donald J + Buffalo (NY) + United States Politics and Government + + + Firsthand Account: The Assassination of Malcolm X + http://www.nytimes.com/video/us/100000004817791/malcolm-x-death-new-york-assassination-360.html?partner=rss&emc=rss + http://www.nytimes.com/video/us/100000004817791/malcolm-x-death-new-york-assassination-360.html + The civil rights leader Malcolm X was killed Feb. 21, 1965, at a rally in New York City. Hear from a witness and visit the site of the assassination — in the past, present and in 360 video. + + Tue, 21 Feb 2017 10:00:29 GMT + Civil Rights Movement (1954-68) + Assassinations and Attempted Assassinations + Malcolm X + + + California Today: California Today: Lawmakers With Little in Common, Except a Name + http://www.nytimes.com/2017/02/21/us/california-today-kevin-mccarthy-kevin-mccarty.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/21/us/california-today-kevin-mccarthy-kevin-mccarty.html + + + Representative Kevin McCarthy of California, the majority leader, at his office in the U.S. Capitol. + Al Drago/The New York Times + Tuesday: Name confusion vexes a California representative and assemblyman, a Whittier police officer is killed, and clam digging in Humboldt Bay. + MIKE McPHATE + Tue, 21 Feb 2017 13:12:08 GMT + California Today + California + + + Your Daily Mini Crossword + http://www.nytimes.com/crosswords/game/mini?partner=rss&emc=rss + http://www.nytimes.com/crosswords/game/mini + + Solve a bite-size crossword in just a few minutes. + + Thu, 25 Feb 2016 08:18:20 GMT + + + Travel Tips: How to Have a Better Flight + http://www.nytimes.com/2016/12/29/travel/how-to-have-a-better-flight.html?partner=rss&emc=rss + http://www.nytimes.com/2016/12/29/travel/how-to-have-a-better-flight.html + + + + Lars Leetaru + A longtime flight attendant says that politeness helps improve a trip, as does bringing your own food for the ride. + SHIVANI VORA + Thu, 29 Dec 2016 11:00:03 GMT + Airlines and Airplanes + Travel and Vacations + Flight Attendants + + + Trying to Stanch Trinidad’s Flow of Young Recruits to ISIS + http://www.nytimes.com/2017/02/21/world/americas/trying-to-stanch-trinidads-flow-of-young-recruits-to-isis.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/21/world/americas/trying-to-stanch-trinidads-flow-of-young-recruits-to-isis.html + + + Yasin Abu Bakr, second from right, speaking with other Muslims at his mosque in Port of Spain, Trinidad and Tobago. + Federico Rios Escobar for The New York Times + Officials in Trinidad and Tobago are scrambling to close a pipeline that has sent a steady stream of Muslims to Syria to take up arms for the Islamic State. + FRANCES ROBLES + Tue, 21 Feb 2017 10:00:16 GMT + Terrorism + Politics and Government + Muslims and Islam + United States International Relations + Syria + Trinidad and Tobago + + + Goalie Eats Pie and Loses His Job, While Bettors’ Wallets Fatten + http://www.nytimes.com/2017/02/21/sports/soccer/wayne-shaw-sutton-soccer-pie.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/21/sports/soccer/wayne-shaw-sutton-soccer-pie.html + + + Sutton’s backup goalkeeper, Wayne Shaw, eats a pie during the match against Arsenal on Monday. + Andrew Couldridge/Reuters + The backup goalkeeper for Sutton, Wayne Shaw, said he knew about a bet on whether he’d have a pie during the match and had eaten because of it. + VICTOR MATHER + Tue, 21 Feb 2017 17:24:00 GMT + Soccer + Gambling + Sutton (Soccer Team) + + + Out There: Cosmos Controversy: The Universe Is Expanding, but How Fast? + http://www.nytimes.com/2017/02/20/science/hubble-constant-universe-expanding-speed.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/20/science/hubble-constant-universe-expanding-speed.html + + + A Hubble Space Telescope image of a group of interacting galaxies called Arp 273. + NASA + A small discrepancy in the value of a long-sought number has fostered a debate about just how well we know the cosmos. + DENNIS OVERBYE + Mon, 20 Feb 2017 20:47:03 GMT + Space and Astronomy + Hubble Constant + Dark Energy (Astronomy) + Dark Matter (Astronomy) + Riess, Adam Guy + Freedman, Wendy L + + + Afghanistan Police Surround Vice President’s House + http://www.nytimes.com/2017/02/21/world/asia/abdul-rashid-dostum-afghanistan.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/21/world/asia/abdul-rashid-dostum-afghanistan.html + + + Abdul Rashid Dostum, an Afghan vice president, in 2014. On Tuesday, over 100 police officers and soldiers surrounded his Kabul compound in an apparent effort to arrest nine of of his aides. + Shah Marai/Agence France-Presse — Getty Images + Soldiers and police officers appeared to be trying to arrest nine aides to Vice President Abdul Rashid Dostum accused of kidnapping a political rival. + ROD NORDLAND and JAWAD SUKHANYAR + Tue, 21 Feb 2017 15:02:32 GMT + Dostum, Abdul Rashid + Afghanistan + Kidnapping and Hostages + Sex Crimes + Politics and Government + Ishchi, Ahmad + + + Bodies of 74 Migrants Wash Up on Libyan Coast + http://www.nytimes.com/2017/02/21/world/middleeast/migrants-libya-beach.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/21/world/middleeast/migrants-libya-beach.html + + + Red Crescent workers collected the bodies of migrants on Monday from a beach near the town of Zawiya, Libya. + Libyan Red Crescent + The victims were believed to have come from a shipwrecked boat that was found along the shore, an ominous sign before the high season for crossings to Europe. + DECLAN WALSH + Tue, 21 Feb 2017 12:34:42 GMT + Refugees and Displaced Persons + Middle East and Africa Migrant Crisis + Deaths (Fatalities) + Illegal Immigration + Europe + Libya + Mediterranean Sea + + + Elor Azaria, Israeli Soldier Who Killed Wounded Assailant, Gets 18 Months in Prison + http://www.nytimes.com/2017/02/21/world/middleeast/elor-azaria-israel-sentence.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/21/world/middleeast/elor-azaria-israel-sentence.html + + + Sgt. Elor Azaria, center, with his mother in a military courtroom in Tel Aviv on Tuesday before he received an 18-month sentence for manslaughter. + Pool photo by Jim Hollander + The sergeant shot an incapacitated Palestinian lying on his back, a case that has divided Israelis and prompted calls for a pardon. + IAN FISHER + Tue, 21 Feb 2017 15:46:07 GMT + Defense and Military Forces + Azaria, Elor + Israel + Palestinians + Heller, Maya + + + The Interpreter + http://www.nytimes.com/newsletters/the-interpreter?partner=rss&emc=rss + http://www.nytimes.com/newsletters/the-interpreter + + The Interpreter brings sharp insight and context to the major news stories of the week. Sign up to get it by email. + + Fri, 03 Feb 2017 22:38:47 GMT + + + Vatican and Rome’s Jewish Museum Team Up for Menorah Exhibit + http://www.nytimes.com/2017/02/20/world/europe/vatican-rome-menorah-exhibit-jewish-museum.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/20/world/europe/vatican-rome-menorah-exhibit-jewish-museum.html + + + A bas-relief showing a menorah was displayed at a news conference on Monday announcing a joint exhibition by the Vatican Museums and Rome’s Jewish Museum. + Alessandra Tarantino/Associated Press + The collaboration, centered on a famous candelabrum that has been missing for centuries, is being hailed as “a historic event.” + ELISABETTA POVOLEDO + Tue, 21 Feb 2017 00:12:55 GMT + Jews and Judaism + Arts and Antiquities Looting + Roman Catholic Church + Vatican Museums + Rome (Italy) + Vatican City + + + The Businessman Behind Cool British Fashion Brands + http://www.nytimes.com/2017/02/21/fashion/london-fashion-week-alexa-chung-oakley-capital.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/21/fashion/london-fashion-week-alexa-chung-oakley-capital.html + + Peter Dubens, the co-founder and managing partner of Oakley Capital Private Equity, is the investor behind Alexa Chung’s fashion label. + Glenn Copus/Evening Standard, via REX/Shutterstock + Peter Dubens, co-founder of Oakley Capital, has financed both Alexa Chung and Bella Freud. + LAUREN INDVIK + Tue, 21 Feb 2017 05:01:21 GMT + Fashion and Apparel + Dubens, Peter + Chung, Alexa + Freud, Bella + + + A.S. Monaco: From Billionaire’s Plaything to Soccer Prodigies’ Hub + http://www.nytimes.com/2017/02/21/sports/soccer/as-monaco-vadim-vasilyev-.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/21/sports/soccer/as-monaco-vadim-vasilyev-.html + + + Vadim Vasilyev, the vice president of A.S. Monaco, remembers the “tough” night in 2015 when he explained to fans the club’s shift away from signing star players. + France Keyser for The New York Times + Financial fair-play rules forced a change in club strategy, one that has had some unexpectedly happy results. + RORY SMITH + Tue, 21 Feb 2017 05:01:22 GMT + Soccer + A.S. Monaco + UEFA Champions League (Soccer) + Rybolovlev, Dmitry Evgenevich + Rodriguez, James (1991- ) + Mendes, Jorge (1966- ) + Martial, Anthony (1995- ) + + + Sinosphere: Scammers in China Fake Road Injuries, but Cameras Capture the Truth + http://www.nytimes.com/2017/02/21/world/asia/china-traffic-scam-fraud.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/21/world/asia/china-traffic-scam-fraud.html + + Fraudsters are throwing themselves in front of cars or buses to extort money from motorists, but the results are often unconvincing. + DIDI KIRSTEN TATLOW + Tue, 21 Feb 2017 11:58:34 GMT + China + scams + + + Eleven Madison Park Plans a Makeover and a Summer Pop-Up + http://www.nytimes.com/2017/02/21/dining/eleven-madison-park-renovation-hamptons.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/21/dining/eleven-madison-park-renovation-hamptons.html + + + Like many New Yorkers, the staff and operations of Eleven Madison Park will spend this summer in the Hamptons. They will take over the restaurant Moby’s, opening it in late June as EMP Summer House. + Daniel Gonzalez for The New York Times + The top-rated Manhattan restaurant will close for three months of renovation and open a more casual version in the Hamptons. + FLORENCE FABRICANT + Tue, 21 Feb 2017 11:00:13 GMT + Restaurants + Relocation of Business + Eleven Madison Park (Manhattan, NY, Restaurant) + Guidara, Will + Humm, Daniel + Cloepfil, Brad + East Hampton (NY) + Manhattan (NYC) + + + Dick Bruna, Author of Miffy Books, Is Dead at 89 + http://www.nytimes.com/2017/02/20/books/dick-bruna-dead-miffy-creator.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/20/books/dick-bruna-dead-miffy-creator.html + + + Dick Bruna in 2005 at the opening of an exhibition devoted to his Miffy books in The Hague. + Inge Van Mill/Agence France-Presse — Getty Images + The Dutch writer and illustrator was known for children’s books depicting a sparely drawn round white rabbit who gained a worldwide following. + NINA SIEGAL + Tue, 21 Feb 2017 00:57:49 GMT + Bruna, Dick (1927-2017) + Writing and Writers + Books and Literature + Deaths (Obituaries) + Miffy + + + Shared: A Balm When You’re Expecting: Sometimes Pot Does the Trick + http://www.nytimes.com/2017/02/20/health/marijuana-pregnancy-mothers.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/20/health/marijuana-pregnancy-mothers.html + + + Jane, who used pot to quell her nausea during her third pregnancy, with her daughter in New York + Nancie Battaglia for The New York Times + Five women describe why they used marijuana while pregnant, and how they assessed the risks and benefits before making that choice. + CATHERINE SAINT LOUIS + Mon, 20 Feb 2017 20:35:02 GMT + Marijuana + Pregnancy and Childbirth + Women and Girls + Morning Sickness + + + The Fix: The Convertible, Tiny Apartment + http://www.nytimes.com/2017/02/19/realestate/the-convertible-tiny-apartment.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/19/realestate/the-convertible-tiny-apartment.html + + + A Murphy bed and flanking closets disappear into the living room walls when not in use. + Linda Jaquez for The New York Times + A 400-square-foot studio is remade into a space that can be constantly transformed. + MICHELLE HIGGINS + Sun, 19 Feb 2017 10:05:01 GMT + Interior Design and Furnishings + Real Estate and Housing (Residential) + Architecture + Restoration and Renovation + + + Personal Health: The Worst That Could Happen? Going Blind, People Say + http://www.nytimes.com/2017/02/20/well/the-worst-that-could-happen-going-blind-people-say.html?partner=rss&emc=rss + http://www.nytimes.com/2017/02/20/well/the-worst-that-could-happen-going-blind-people-say.html + + + + Paul Rogers + When eyesight fails, some people become socially disengaged, leading to isolation and loneliness. + JANE E. BRODY + Mon, 20 Feb 2017 11:00:23 GMT + Eyes and Eyesight + Blindness + Cataracts + Macular Degeneration + Glaucoma + + + diff --git a/tests/configs/modules/newsfeed/default.js b/tests/configs/modules/newsfeed/default.js new file mode 100644 index 00000000..071f39a1 --- /dev/null +++ b/tests/configs/modules/newsfeed/default.js @@ -0,0 +1,38 @@ +/* Magic Mirror Test config newsfeed module + * + * By Rodrigo Ramírez Norambuena https://rodrigoramirez.com + * MIT Licensed. + */ + +var config = { + port: 8080, + ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], + + language: "en", + timeFormat: 12, + units: "metric", + electronOptions: { + webPreferences: { + nodeIntegration: true, + }, + }, + + modules: [ + { + + module: "newsfeed", + position: "bottom_bar", + config: { + feeds: [ + { + title: "New York Times", + url: "http://localhost:8080/tests/configs/data/feed_test_newtimes.xml" + }, + ] + } + } + ] +}; + +/*************** DO NOT EDIT THE LINE BELOW ***************/ +if (typeof module !== "undefined") {module.exports = config;} diff --git a/tests/e2e/modules/newsfeed_spec.js b/tests/e2e/modules/newsfeed_spec.js new file mode 100644 index 00000000..4b0b4ea8 --- /dev/null +++ b/tests/e2e/modules/newsfeed_spec.js @@ -0,0 +1,31 @@ +const globalSetup = require("../global-setup"); +const app = globalSetup.app; +const chai = require("chai"); +const expect = chai.expect; + +describe("Newsfeed module", function () { + + this.timeout(20000); + + beforeEach(function (done) { + app.start().then(function() { done(); } ); + }); + + afterEach(function (done) { + app.stop().then(function() { done(); }); + }); + + describe("Default configuration", function() { + + before(function() { + // Set config sample for use in test + process.env.MM_CONFIG_FILE = "tests/configs/modules/newsfeed/default.js"; + }); + + it("Check here", function () { + return app.client.waitUntilTextExists(".newsfeed .small", "New York Times, in day:", 10000); + }); + + }); + +}); From 5770b9dc0e07749c6e64596cb0673f4e37b1f970 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Thu, 9 Mar 2017 17:10:32 -0300 Subject: [PATCH 02/57] Test env 404 not found request http://localhost:8080/nothing This test expect gets 404 HTTP code on get request to http://localhost:8080/nothing --- tests/e2e/env_spec.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/e2e/env_spec.js b/tests/e2e/env_spec.js index 04bb5542..202bd5e4 100644 --- a/tests/e2e/env_spec.js +++ b/tests/e2e/env_spec.js @@ -37,4 +37,11 @@ describe("Electron app environment", function () { }); }); + it("get request from http://localhost:8080/nothing should return 404", function (done) { + request.get("http://localhost:8080/nothing", function (err, res, body) { + expect(res.statusCode).to.equal(404); + done(); + }); + }); + }); From 4fdd12bc48d95a562b92fa297c7a11cd41a0066d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Thu, 9 Mar 2017 21:12:19 -0300 Subject: [PATCH 03/57] Test change port configuration This test change to 8090 port on configuration and check if system response there. --- tests/configs/port_8090.js | 25 +++++++++++++++++++++++++ tests/e2e/port_config.js | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 tests/configs/port_8090.js create mode 100644 tests/e2e/port_config.js diff --git a/tests/configs/port_8090.js b/tests/configs/port_8090.js new file mode 100644 index 00000000..6646dff7 --- /dev/null +++ b/tests/configs/port_8090.js @@ -0,0 +1,25 @@ +/* Magic Mirror Test config sample enviroment set por 8090 + * + * By Rodrigo Ramírez Norambuena https://rodrigoramirez.com + * MIT Licensed. + */ + +var config = { + port: 8090, + ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], + + language: "en", + timeFormat: 24, + units: "metric", + electronOptions: { + webPreferences: { + nodeIntegration: true, + }, + }, + + modules: [ + ] +}; + +/*************** DO NOT EDIT THE LINE BELOW ***************/ +if (typeof module !== "undefined") {module.exports = config;} diff --git a/tests/e2e/port_config.js b/tests/e2e/port_config.js new file mode 100644 index 00000000..c0806e85 --- /dev/null +++ b/tests/e2e/port_config.js @@ -0,0 +1,32 @@ +const globalSetup = require("./global-setup"); +const app = globalSetup.app; +const request = require("request"); +const chai = require("chai"); +const expect = chai.expect; + + +describe("port directive configuration", function () { + + this.timeout(20000); + + beforeEach(function (done) { + app.start().then(function() { done(); } ); + }); + + afterEach(function (done) { + app.stop().then(function() { done(); }); + }); + + describe("Set port 8090", function () { + before(function() { + // Set config sample for use in this test + process.env.MM_CONFIG_FILE = "tests/configs/port_8090.js"; + }); + it("should return 200", function (done) { + request.get("http://localhost:8090", function (err, res, body) { + expect(res.statusCode).to.equal(200); + done(); + }); + }); + }); +}); From 72d18fd7e1e52f237dbafba17358cd65170e2a48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Fri, 10 Mar 2017 17:52:40 -0300 Subject: [PATCH 04/57] Add test module position using helloworld Also is using a configuration with "exotic content" --- tests/configs/modules/positions.js | 43 ++++++++++++++++++++++++++++++ tests/e2e/modules_position_spec.js | 42 +++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 tests/configs/modules/positions.js create mode 100644 tests/e2e/modules_position_spec.js diff --git a/tests/configs/modules/positions.js b/tests/configs/modules/positions.js new file mode 100644 index 00000000..7d0188c2 --- /dev/null +++ b/tests/configs/modules/positions.js @@ -0,0 +1,43 @@ +/* Magic Mirror Test config for position setters module + * + * For this case is using helloworld module + * + * By Rodrigo Ramírez Norambuena https://rodrigoramirez.com + * MIT Licensed. + */ + + +var config = { + port: 8080, + ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], + ipWhitelist: [], + + language: "en", + timeFormat: 24, + units: "metric", + electronOptions: { + webPreferences: { + nodeIntegration: true, + }, + }, + modules: + // Using exotic content. This is why dont accept go to JSON configuration file + (function() { + var positions = ["top_bar", "top_left", "top_center", "top_right", "upper_third", + "middle_center", "lower_third", "bottom_left", "bottom_center", "bottom_right", + "bottom_bar", "fullscreen_above", "fullscreen_below"]; + var modules = Array(); + for (idx in positions) { + modules.push({ + module: "helloworld", + position: positions[idx], + config: { + text: "Text in " + positions[idx] + } + }); + } + return modules; + })(), +}; +/*************** DO NOT EDIT THE LINE BELOW ***************/ +if (typeof module !== "undefined") {module.exports = config;} diff --git a/tests/e2e/modules_position_spec.js b/tests/e2e/modules_position_spec.js new file mode 100644 index 00000000..a781388a --- /dev/null +++ b/tests/e2e/modules_position_spec.js @@ -0,0 +1,42 @@ +const globalSetup = require("./global-setup"); +const app = globalSetup.app; +const chai = require("chai"); +const expect = chai.expect; + +describe("Position of modules", function () { + this.timeout(20000); + + + beforeEach(function (done) { + app.start().then(function() { done(); } ); + }); + + afterEach(function (done) { + app.stop().then(function() { done(); }); + }); + + + describe("Using helloworld", function() { + + before(function() { + // Set config sample for use in test + process.env.MM_CONFIG_FILE = "tests/configs/modules/positions.js"; + }); + + var positions = ["top_bar", "top_left", "top_center", "top_right", "upper_third", + "middle_center", "lower_third", "bottom_left", "bottom_center", "bottom_right", + "bottom_bar", "fullscreen_above", "fullscreen_below"]; + + var position; + var className; + for (idx in positions) { + position = positions[idx]; + className = position.replace("_", "."); + it("show text in " + position , function () { + return app.client.waitUntilWindowLoaded() + .getText("." + className).should.eventually.equal("Text in " + position); + }); + } + }); + +}); From c282bb2fe1e79a585c31c4d80d0174949b8d6400 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Fri, 10 Mar 2017 18:20:11 -0300 Subject: [PATCH 05/57] Fix if MM_PORT enviroment variable is set --- CHANGELOG.md | 1 + js/server.js | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1138da27..bdc8783b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -59,6 +59,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Module currentWeather: check if temperature received from api is defined. - Fix an issue with module hidden status changing to `true` although lock string prevented showing it - Fix newsfeed module bug (removeStartTags) +- Fix when is set MM_PORT enviroment variable. ## [2.1.0] - 2016-12-31 diff --git a/js/server.js b/js/server.js index 901e0350..53d00235 100644 --- a/js/server.js +++ b/js/server.js @@ -15,9 +15,15 @@ var fs = require("fs"); var helmet = require("helmet"); var Server = function(config, callback) { - console.log("Starting server op port " + config.port + " ... "); - server.listen(config.port, config.address ? config.address : null); + var port = config.port; + if (process.env.MM_PORT) { + port = process.env.MM_PORT; + } + + console.log("Starting server op port " + port + " ... "); + + server.listen(port, config.address ? config.address : null); app.use(function(req, res, next) { var result = ipfilter(config.ipWhitelist, {mode: "allow", log: false})(req, res, function(err) { From c6fa0cc0723f6304ab1c0528e5ae229d18396f38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Fri, 10 Mar 2017 18:21:06 -0300 Subject: [PATCH 06/57] Add test for check MM_PORT enviroment variable --- tests/e2e/port_config.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/e2e/port_config.js b/tests/e2e/port_config.js index c0806e85..e44a2207 100644 --- a/tests/e2e/port_config.js +++ b/tests/e2e/port_config.js @@ -29,4 +29,19 @@ describe("port directive configuration", function () { }); }); }); + + describe("Set port 8100 on enviroment variable MM_PORT", function () { + before(function() { + process.env.MM_PORT = 8100; + // Set config sample for use in this test + process.env.MM_CONFIG_FILE = "tests/configs/port_8090.js"; + }); + it("should return 200", function (done) { + request.get("http://localhost:8100", function (err, res, body) { + expect(res.statusCode).to.equal(200); + done(); + }); + }); + }); + }); From ccf612f536173665f66c433f22f4e7284ebfa04e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Fri, 10 Mar 2017 20:38:18 -0300 Subject: [PATCH 07/57] Add sample xml rss feed from Blog's RodrigoRamirez.com --- tests/configs/data/feed_test_newtimes.xml | 534 ------------------ .../configs/data/feed_test_rodrigoramirez.xml | 410 ++++++++++++++ tests/configs/modules/newsfeed/default.js | 4 +- 3 files changed, 412 insertions(+), 536 deletions(-) delete mode 100644 tests/configs/data/feed_test_newtimes.xml create mode 100644 tests/configs/data/feed_test_rodrigoramirez.xml diff --git a/tests/configs/data/feed_test_newtimes.xml b/tests/configs/data/feed_test_newtimes.xml deleted file mode 100644 index 96b7dda6..00000000 --- a/tests/configs/data/feed_test_newtimes.xml +++ /dev/null @@ -1,534 +0,0 @@ - - - - NYT > Home Page - http://www.nytimes.com/pages/index.html?partner=rss&emc=rss - - - en-us - Copyright 2017 The New York Times Company - Tue, 21 Feb 2017 18:16:14 GMT - - NYT > Home Page - https://static01.nyt.com/images/misc/NYT_logo_rss_250x40.png - http://www.nytimes.com/pages/index.html?partner=rss&emc=rss - - - New Trump Deportation Rules Allow Far More Expulsions - http://www.nytimes.com/2017/02/21/us/politics/dhs-immigration-trump.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/21/us/politics/dhs-immigration-trump.html - - - Mexicans deported from the U.S. walked to a repatriation center in Tijuana in June 2016. - Guillermo Arias/Agence France-Presse — Getty Images - The rules authorize expelling undocumented immigrants who have committed even minor offenses, and they make it easier to deport people immediately. - RON NIXON and MICHAEL D. SHEAR - Tue, 21 Feb 2017 16:21:01 GMT - Deportation - Homeland Security Department - Immigration and Customs Enforcement (US) - Customs and Border Protection (US) - United States Politics and Government - - - Trump Speaks Out Against Anti-Semitism - http://www.nytimes.com/2017/02/21/us/politics/trump-speaks-out-against-anti-semitism.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/21/us/politics/trump-speaks-out-against-anti-semitism.html - - He made the comments after drawing criticism in recent days for failing to condemn the rise in anti-Jewish threats and actions. - JULIE HIRSCHFELD DAVIS - Tue, 21 Feb 2017 15:29:00 GMT - United States Politics and Government - National Museum of African American History and Culture - Anti-Semitism - Washington (DC) - - - Lawyers Take On Trump’s Travel Ban - http://www.nytimes.com/video/us/politics/100000004914792/trump-immigration-lawyer.html?partner=rss&emc=rss - http://www.nytimes.com/video/us/politics/100000004914792/trump-immigration-lawyer.html - The judiciary is the new front line: A group of lawyers scramble to get their clients into the country, while preparing a legal challenge to Trump’s immigration ban. - - Tue, 21 Feb 2017 06:57:04 GMT - Immigration and Emigration - Trump, Donald J - Executive Orders and Memorandums - Refugees and Displaced Persons - - - Riots Break Out in Stockholm Suburb, Drawing Attention to Trump’s Remarks - http://www.nytimes.com/2017/02/21/world/europe/stockholm-sweden-riots-trump.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/21/world/europe/stockholm-sweden-riots-trump.html - - - Burned cars on Tuesday in Rinkeby, a northwestern Stockholm suburb predominantly inhabited by immigrants. About 20 to 30 masked men threw stones and other objects at police officers in Rinkeby after the police arrested a man on suspicion of dealing drugs. - TT News Agency, via Reuters - The clash between the police and residents came two days after President Trump’s provocative claims about migration and crime in the country. - CHRISTINA ANDERSON - Tue, 21 Feb 2017 18:01:23 GMT - Demonstrations, Protests and Riots - Stockholm (Sweden) - Trump, Donald J - - - White House Memo: From an Anchor’s Lips to Trump’s Ears to Sweden’s Disbelief - http://www.nytimes.com/2017/02/20/world/europe/trump-pursues-his-attack-on-sweden-with-scant-evidence.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/20/world/europe/trump-pursues-his-attack-on-sweden-with-scant-evidence.html - - - A group of refugees walking on a highway in Denmark toward Sweden in 2015. Statistics in Sweden found no appreciable increase in crimes from 2015, when the country processed a record 163,000 asylum applications, to 2016. - Mauricio Lima for The New York Times - A diplomatic dispute with Sweden illustrates the unusual approach the president takes to foreign policy, as well as the influence that television can have on his thinking. - PETER BAKER and SEWELL CHAN - Tue, 21 Feb 2017 14:35:13 GMT - Immigration and Emigration - Trump, Donald J - Sweden - United States International Relations - United States Politics and Government - Fox News Channel - Carlson, Tucker - Horowitz, Ami - - - Europe Combats a New Foe of Political Stability: Fake News - http://www.nytimes.com/2017/02/20/world/europe/europe-combats-a-new-foe-of-political-stability-fake-news.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/20/world/europe/europe-combats-a-new-foe-of-political-stability-fake-news.html - - - Emmanuel Macron, center, a French presidential candidate, in southern France on Friday. The head of his party said Mr. Macron had been targeted by Russian news channels. - Franck Pennant/Agence France-Presse — Getty Images - The rise of sophisticated hacks and a torrent of fake news coincide with angry populist movements across the Continent, and officials are nervous. - MARK SCOTT and MELISSA EDDY - Mon, 20 Feb 2017 22:10:11 GMT - Rumors and Misinformation - News and News Media - European Union - Europe - - - Town Hall Briefing: Congressional Town Hall: Of Tums, Death Panels and ‘Shut Your Hole’ - http://www.nytimes.com/2017/02/21/us/politics/town-hall-protests-obamacare.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/21/us/politics/town-hall-protests-obamacare.html - - - Senator Charles E. Grassley at a town hall meeting in Iowa Falls, Iowa, on Tuesday. He addressed a standing-room-only crowd. - Scott Morgan for The New York Times - Several Republicans will be hearing from constituents on Tuesday, and reporters for The New York Times will be there to gauge the sentiment. - THOMAS KAPLAN, TRIP GABRIEL and LIZETTE ALVAREZ - Tue, 21 Feb 2017 18:10:24 GMT - Trump, Donald J - United States Politics and Government - Patient Protection and Affordable Care Act (2010) - Demonstrations, Protests and Riots - Blackburn, Marsha - Grassley, Charles E - Ross, Dennis A - Cassidy, Bill (1957- ) - - - For-Profit Schools, an Obama Target, See New Day Under Trump - http://www.nytimes.com/2017/02/20/business/for-profit-education-trump-devos.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/20/business/for-profit-education-trump-devos.html - - - Donald J. Trump at the announcement of the establishment of Trump University in 2005. As president-elect, he paid $25 million to settle three lawsuits against the now-defunct institution. - Bebeto Matthews/Associated Press - The Education Department, whose scrutiny has led hundreds of campuses to close, is now led by Betsy DeVos, who has investments in the industry. - PATRICIA COHEN - Tue, 21 Feb 2017 00:03:48 GMT - For-Profit Schools - Colleges and Universities - United States Politics and Government - Regulation and Deregulation of Industry - DeVos, Elizabeth (1958- ) - Trump, Donald J - - - Protesters Ready for Trump’s First Visit to New York as President - http://www.nytimes.com/2017/02/21/nyregion/protesters-ready-for-trumps-first-visit-to-new-york-as-president.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/21/nyregion/protesters-ready-for-trumps-first-visit-to-new-york-as-president.html - - - Congregation Beth Elohim in Brooklyn was filled on Feb. 6 for an evening of strategizing against President Trump. - Demetrius Freeman for The New York Times - The president has not set foot in the city since his inauguration, puzzling and emboldening some protesters in his hometown. - SARAH MASLIN NIR - Tue, 21 Feb 2017 14:12:26 GMT - Executive Orders and Memorandums - Immigration and Emigration - United States Politics and Government - Demonstrations, Protests and Riots - Trump Tower (Manhattan, NY) - Trump, Donald J - Fifth Avenue (Manhattan, NY) - New York City - - - Milo Yiannopoulos’s Pedophilia Comments Cost Him CPAC Role and Book Deal - http://www.nytimes.com/2017/02/20/us/politics/cpac-milo-yiannopoulos.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/20/us/politics/cpac-milo-yiannopoulos.html - - - Milo Yiannopoulos last month in Boulder, Colo. The Conservative Political Action Conference rescinded its invitation for him to speak to the group after his comments about pedophilia. - Jeremy Papasso/Daily Camera, via Associated Press - The publication of a video in which the contentious Breitbart News editor condoned sexual relations with boys seemed to be more than conference organizers could tolerate. - JEREMY W. PETERS, ALEXANDRA ALTER and MICHAEL M. GRYNBAUM - Tue, 21 Feb 2017 01:47:20 GMT - Yiannopoulos, Milo - Sex Crimes - Child Abuse and Neglect - United States Politics and Government - Conservative Political Action Conference - Simon & Schuster Inc - Dangerous (Book) - - - Unease Spreads in Atlanta as a City Contracting Scandal Brews - http://www.nytimes.com/2017/02/21/us/unease-spreads-in-atlanta-as-a-city-contracting-scandal-brews.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/21/us/unease-spreads-in-atlanta-as-a-city-contracting-scandal-brews.html - - - Mayor Kasim Reed of Atlanta delivering his State of the City address this month. An investigation into charges of bribery involving city contracts has prompted the mayor to defend his legacy. - Branden Camp/Atlanta Journal-Constitution, via Associated Press - A brick thrown through a window, dead rodents left on steps and a threat to a contractor have become symbols of a federal inquiry into bribery charges. - RICHARD FAUSSET - Tue, 21 Feb 2017 10:00:17 GMT - Politics and Government - Government Contracts and Procurement - Bribery and Kickbacks - Atlanta (Ga) - Kasim Reed - Elvin R. Mitchell Jr. - - - A Surprising Salve for New York’s Beleaguered Cities: Refugees - http://www.nytimes.com/2017/02/20/nyregion/a-surprising-salve-for-new-yorks-beleaguered-cities-refugees.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/20/nyregion/a-surprising-salve-for-new-yorks-beleaguered-cities-refugees.html - - - In early February a man wearing a keffiyeh walked past a mural that recalls a less diverse past in Buffalo. The self-described “City of Good Neighbors” has received more than 10,000 refugees over the last decade. - Nathaniel Brooks for The New York Times - Communities across upstate New York say an influx of refugees has helped alleviate decades-long struggles with dwindling populations and opportunities. - JESSE McKINLEY - Mon, 20 Feb 2017 20:54:01 GMT - Refugees and Displaced Persons - Immigration and Emigration - Trump, Donald J - Buffalo (NY) - United States Politics and Government - - - Firsthand Account: The Assassination of Malcolm X - http://www.nytimes.com/video/us/100000004817791/malcolm-x-death-new-york-assassination-360.html?partner=rss&emc=rss - http://www.nytimes.com/video/us/100000004817791/malcolm-x-death-new-york-assassination-360.html - The civil rights leader Malcolm X was killed Feb. 21, 1965, at a rally in New York City. Hear from a witness and visit the site of the assassination — in the past, present and in 360 video. - - Tue, 21 Feb 2017 10:00:29 GMT - Civil Rights Movement (1954-68) - Assassinations and Attempted Assassinations - Malcolm X - - - California Today: California Today: Lawmakers With Little in Common, Except a Name - http://www.nytimes.com/2017/02/21/us/california-today-kevin-mccarthy-kevin-mccarty.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/21/us/california-today-kevin-mccarthy-kevin-mccarty.html - - - Representative Kevin McCarthy of California, the majority leader, at his office in the U.S. Capitol. - Al Drago/The New York Times - Tuesday: Name confusion vexes a California representative and assemblyman, a Whittier police officer is killed, and clam digging in Humboldt Bay. - MIKE McPHATE - Tue, 21 Feb 2017 13:12:08 GMT - California Today - California - - - Your Daily Mini Crossword - http://www.nytimes.com/crosswords/game/mini?partner=rss&emc=rss - http://www.nytimes.com/crosswords/game/mini - - Solve a bite-size crossword in just a few minutes. - - Thu, 25 Feb 2016 08:18:20 GMT - - - Travel Tips: How to Have a Better Flight - http://www.nytimes.com/2016/12/29/travel/how-to-have-a-better-flight.html?partner=rss&emc=rss - http://www.nytimes.com/2016/12/29/travel/how-to-have-a-better-flight.html - - - - Lars Leetaru - A longtime flight attendant says that politeness helps improve a trip, as does bringing your own food for the ride. - SHIVANI VORA - Thu, 29 Dec 2016 11:00:03 GMT - Airlines and Airplanes - Travel and Vacations - Flight Attendants - - - Trying to Stanch Trinidad’s Flow of Young Recruits to ISIS - http://www.nytimes.com/2017/02/21/world/americas/trying-to-stanch-trinidads-flow-of-young-recruits-to-isis.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/21/world/americas/trying-to-stanch-trinidads-flow-of-young-recruits-to-isis.html - - - Yasin Abu Bakr, second from right, speaking with other Muslims at his mosque in Port of Spain, Trinidad and Tobago. - Federico Rios Escobar for The New York Times - Officials in Trinidad and Tobago are scrambling to close a pipeline that has sent a steady stream of Muslims to Syria to take up arms for the Islamic State. - FRANCES ROBLES - Tue, 21 Feb 2017 10:00:16 GMT - Terrorism - Politics and Government - Muslims and Islam - United States International Relations - Syria - Trinidad and Tobago - - - Goalie Eats Pie and Loses His Job, While Bettors’ Wallets Fatten - http://www.nytimes.com/2017/02/21/sports/soccer/wayne-shaw-sutton-soccer-pie.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/21/sports/soccer/wayne-shaw-sutton-soccer-pie.html - - - Sutton’s backup goalkeeper, Wayne Shaw, eats a pie during the match against Arsenal on Monday. - Andrew Couldridge/Reuters - The backup goalkeeper for Sutton, Wayne Shaw, said he knew about a bet on whether he’d have a pie during the match and had eaten because of it. - VICTOR MATHER - Tue, 21 Feb 2017 17:24:00 GMT - Soccer - Gambling - Sutton (Soccer Team) - - - Out There: Cosmos Controversy: The Universe Is Expanding, but How Fast? - http://www.nytimes.com/2017/02/20/science/hubble-constant-universe-expanding-speed.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/20/science/hubble-constant-universe-expanding-speed.html - - - A Hubble Space Telescope image of a group of interacting galaxies called Arp 273. - NASA - A small discrepancy in the value of a long-sought number has fostered a debate about just how well we know the cosmos. - DENNIS OVERBYE - Mon, 20 Feb 2017 20:47:03 GMT - Space and Astronomy - Hubble Constant - Dark Energy (Astronomy) - Dark Matter (Astronomy) - Riess, Adam Guy - Freedman, Wendy L - - - Afghanistan Police Surround Vice President’s House - http://www.nytimes.com/2017/02/21/world/asia/abdul-rashid-dostum-afghanistan.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/21/world/asia/abdul-rashid-dostum-afghanistan.html - - - Abdul Rashid Dostum, an Afghan vice president, in 2014. On Tuesday, over 100 police officers and soldiers surrounded his Kabul compound in an apparent effort to arrest nine of of his aides. - Shah Marai/Agence France-Presse — Getty Images - Soldiers and police officers appeared to be trying to arrest nine aides to Vice President Abdul Rashid Dostum accused of kidnapping a political rival. - ROD NORDLAND and JAWAD SUKHANYAR - Tue, 21 Feb 2017 15:02:32 GMT - Dostum, Abdul Rashid - Afghanistan - Kidnapping and Hostages - Sex Crimes - Politics and Government - Ishchi, Ahmad - - - Bodies of 74 Migrants Wash Up on Libyan Coast - http://www.nytimes.com/2017/02/21/world/middleeast/migrants-libya-beach.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/21/world/middleeast/migrants-libya-beach.html - - - Red Crescent workers collected the bodies of migrants on Monday from a beach near the town of Zawiya, Libya. - Libyan Red Crescent - The victims were believed to have come from a shipwrecked boat that was found along the shore, an ominous sign before the high season for crossings to Europe. - DECLAN WALSH - Tue, 21 Feb 2017 12:34:42 GMT - Refugees and Displaced Persons - Middle East and Africa Migrant Crisis - Deaths (Fatalities) - Illegal Immigration - Europe - Libya - Mediterranean Sea - - - Elor Azaria, Israeli Soldier Who Killed Wounded Assailant, Gets 18 Months in Prison - http://www.nytimes.com/2017/02/21/world/middleeast/elor-azaria-israel-sentence.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/21/world/middleeast/elor-azaria-israel-sentence.html - - - Sgt. Elor Azaria, center, with his mother in a military courtroom in Tel Aviv on Tuesday before he received an 18-month sentence for manslaughter. - Pool photo by Jim Hollander - The sergeant shot an incapacitated Palestinian lying on his back, a case that has divided Israelis and prompted calls for a pardon. - IAN FISHER - Tue, 21 Feb 2017 15:46:07 GMT - Defense and Military Forces - Azaria, Elor - Israel - Palestinians - Heller, Maya - - - The Interpreter - http://www.nytimes.com/newsletters/the-interpreter?partner=rss&emc=rss - http://www.nytimes.com/newsletters/the-interpreter - - The Interpreter brings sharp insight and context to the major news stories of the week. Sign up to get it by email. - - Fri, 03 Feb 2017 22:38:47 GMT - - - Vatican and Rome’s Jewish Museum Team Up for Menorah Exhibit - http://www.nytimes.com/2017/02/20/world/europe/vatican-rome-menorah-exhibit-jewish-museum.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/20/world/europe/vatican-rome-menorah-exhibit-jewish-museum.html - - - A bas-relief showing a menorah was displayed at a news conference on Monday announcing a joint exhibition by the Vatican Museums and Rome’s Jewish Museum. - Alessandra Tarantino/Associated Press - The collaboration, centered on a famous candelabrum that has been missing for centuries, is being hailed as “a historic event.” - ELISABETTA POVOLEDO - Tue, 21 Feb 2017 00:12:55 GMT - Jews and Judaism - Arts and Antiquities Looting - Roman Catholic Church - Vatican Museums - Rome (Italy) - Vatican City - - - The Businessman Behind Cool British Fashion Brands - http://www.nytimes.com/2017/02/21/fashion/london-fashion-week-alexa-chung-oakley-capital.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/21/fashion/london-fashion-week-alexa-chung-oakley-capital.html - - Peter Dubens, the co-founder and managing partner of Oakley Capital Private Equity, is the investor behind Alexa Chung’s fashion label. - Glenn Copus/Evening Standard, via REX/Shutterstock - Peter Dubens, co-founder of Oakley Capital, has financed both Alexa Chung and Bella Freud. - LAUREN INDVIK - Tue, 21 Feb 2017 05:01:21 GMT - Fashion and Apparel - Dubens, Peter - Chung, Alexa - Freud, Bella - - - A.S. Monaco: From Billionaire’s Plaything to Soccer Prodigies’ Hub - http://www.nytimes.com/2017/02/21/sports/soccer/as-monaco-vadim-vasilyev-.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/21/sports/soccer/as-monaco-vadim-vasilyev-.html - - - Vadim Vasilyev, the vice president of A.S. Monaco, remembers the “tough” night in 2015 when he explained to fans the club’s shift away from signing star players. - France Keyser for The New York Times - Financial fair-play rules forced a change in club strategy, one that has had some unexpectedly happy results. - RORY SMITH - Tue, 21 Feb 2017 05:01:22 GMT - Soccer - A.S. Monaco - UEFA Champions League (Soccer) - Rybolovlev, Dmitry Evgenevich - Rodriguez, James (1991- ) - Mendes, Jorge (1966- ) - Martial, Anthony (1995- ) - - - Sinosphere: Scammers in China Fake Road Injuries, but Cameras Capture the Truth - http://www.nytimes.com/2017/02/21/world/asia/china-traffic-scam-fraud.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/21/world/asia/china-traffic-scam-fraud.html - - Fraudsters are throwing themselves in front of cars or buses to extort money from motorists, but the results are often unconvincing. - DIDI KIRSTEN TATLOW - Tue, 21 Feb 2017 11:58:34 GMT - China - scams - - - Eleven Madison Park Plans a Makeover and a Summer Pop-Up - http://www.nytimes.com/2017/02/21/dining/eleven-madison-park-renovation-hamptons.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/21/dining/eleven-madison-park-renovation-hamptons.html - - - Like many New Yorkers, the staff and operations of Eleven Madison Park will spend this summer in the Hamptons. They will take over the restaurant Moby’s, opening it in late June as EMP Summer House. - Daniel Gonzalez for The New York Times - The top-rated Manhattan restaurant will close for three months of renovation and open a more casual version in the Hamptons. - FLORENCE FABRICANT - Tue, 21 Feb 2017 11:00:13 GMT - Restaurants - Relocation of Business - Eleven Madison Park (Manhattan, NY, Restaurant) - Guidara, Will - Humm, Daniel - Cloepfil, Brad - East Hampton (NY) - Manhattan (NYC) - - - Dick Bruna, Author of Miffy Books, Is Dead at 89 - http://www.nytimes.com/2017/02/20/books/dick-bruna-dead-miffy-creator.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/20/books/dick-bruna-dead-miffy-creator.html - - - Dick Bruna in 2005 at the opening of an exhibition devoted to his Miffy books in The Hague. - Inge Van Mill/Agence France-Presse — Getty Images - The Dutch writer and illustrator was known for children’s books depicting a sparely drawn round white rabbit who gained a worldwide following. - NINA SIEGAL - Tue, 21 Feb 2017 00:57:49 GMT - Bruna, Dick (1927-2017) - Writing and Writers - Books and Literature - Deaths (Obituaries) - Miffy - - - Shared: A Balm When You’re Expecting: Sometimes Pot Does the Trick - http://www.nytimes.com/2017/02/20/health/marijuana-pregnancy-mothers.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/20/health/marijuana-pregnancy-mothers.html - - - Jane, who used pot to quell her nausea during her third pregnancy, with her daughter in New York - Nancie Battaglia for The New York Times - Five women describe why they used marijuana while pregnant, and how they assessed the risks and benefits before making that choice. - CATHERINE SAINT LOUIS - Mon, 20 Feb 2017 20:35:02 GMT - Marijuana - Pregnancy and Childbirth - Women and Girls - Morning Sickness - - - The Fix: The Convertible, Tiny Apartment - http://www.nytimes.com/2017/02/19/realestate/the-convertible-tiny-apartment.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/19/realestate/the-convertible-tiny-apartment.html - - - A Murphy bed and flanking closets disappear into the living room walls when not in use. - Linda Jaquez for The New York Times - A 400-square-foot studio is remade into a space that can be constantly transformed. - MICHELLE HIGGINS - Sun, 19 Feb 2017 10:05:01 GMT - Interior Design and Furnishings - Real Estate and Housing (Residential) - Architecture - Restoration and Renovation - - - Personal Health: The Worst That Could Happen? Going Blind, People Say - http://www.nytimes.com/2017/02/20/well/the-worst-that-could-happen-going-blind-people-say.html?partner=rss&emc=rss - http://www.nytimes.com/2017/02/20/well/the-worst-that-could-happen-going-blind-people-say.html - - - - Paul Rogers - When eyesight fails, some people become socially disengaged, leading to isolation and loneliness. - JANE E. BRODY - Mon, 20 Feb 2017 11:00:23 GMT - Eyes and Eyesight - Blindness - Cataracts - Macular Degeneration - Glaucoma - - - diff --git a/tests/configs/data/feed_test_rodrigoramirez.xml b/tests/configs/data/feed_test_rodrigoramirez.xml new file mode 100644 index 00000000..e4d3730f --- /dev/null +++ b/tests/configs/data/feed_test_rodrigoramirez.xml @@ -0,0 +1,410 @@ + + + + Rodrigo Ramírez Norambuena + + https://rodrigoramirez.com + Temas sobre Linux, VoIP, Open Source, tecnología y lo relacionado. + Fri, 21 Oct 2016 21:30:22 +0000 + es-ES + hourly + 1 + https://wordpress.org/?v=4.7.3 + + QPanel 0.13.0 + https://rodrigoramirez.com/qpanel-0-13-0/ + https://rodrigoramirez.com/qpanel-0-13-0/#comments + Tue, 20 Sep 2016 11:16:08 +0000 + + + + + + + + + + + + + https://rodrigoramirez.com/?p=1299 + Ya está disponible la versión 0.13.0 de QPanel Para instalar esta nueva versión, la debes descargar de https://github.com/roramirez/qpanel/tree/0.13.0 En al README.md puedes encontrar las instrucciones para hacer que funcione en tu sistema. En esta nueva versión cuenta con los siguientes cambios: Se establece un limite para el reciclado del tiempo de conexión a la base […]

+

La entrada QPanel 0.13.0 aparece primero en Rodrigo Ramírez Norambuena.

+]]>
+ Panel monitor callcenter | Qpanel Monitor ColasYa está disponible la versión 0.13.0 de QPanel

+

Para instalar esta nueva versión, la debes descargar de

+ +

En al README.md puedes encontrar las instrucciones para hacer que funcione en tu sistema.

+

En esta nueva versión cuenta con los siguientes cambios:

+
    +
  • Se establece un limite para el reciclado del tiempo de conexión a la base de datos que contenga QueueLog. Esto evita problemas en bases de datos como MySQL que finaliza o da timeout a las conexiones.
  • +
  • Ahora la py-asterisk va dentro del archivo requirements.txt y no como submodulo del proyecto.
  • +
  • Se remueven la mayoría de las libs externas para Javascript y CSS para manejarlos desde ahora con Bower.
  • +
  • Se incluye un script para WSGI que permite su utilización con Apache.
  • +
  • Actualización para los idiomas Ruso y Portugues.
  • +
+

Si deseas colaborar con el proyecto puedes agregar nuevas sugerencias mediante un issue ó colaborar mediante mediante un Pull Request.

+

Ahora si necesitas soporte comercial para instalaciones, personalizaciones o nuevas características  lo puedes solicitar en https://boxtub.com/qpanel/

+

 

+

La entrada QPanel 0.13.0 aparece primero en Rodrigo Ramírez Norambuena.

+]]>
+ https://rodrigoramirez.com/qpanel-0-13-0/feed/ + 3 +
+ + Problema VirtualBox “starting virtual machine” … + https://rodrigoramirez.com/problema-virtualbox-starting-virtual-machine/ + https://rodrigoramirez.com/problema-virtualbox-starting-virtual-machine/#respond + Sat, 10 Sep 2016 22:50:13 +0000 + + + + + + + https://rodrigoramirez.com/?p=1284 + Después de una actualización de Debian, de la rama stretch/sid, tuve un problema con VirtualBox.  La versión que se actualizó fue a la virtualbox 5.1.4-dfsg-1+b1. El gran problema era que ninguna maquina virtual quería arrancar, se quedaba en un largo limbo con el mensaje “starting virtual machine”, como el de la imagen de a continuación. […]

+

La entrada Problema VirtualBox “starting virtual machine” … aparece primero en Rodrigo Ramírez Norambuena.

+]]>
+ Después de una actualización de Debian, de la rama stretch/sid, tuve un problema con VirtualBox.  La versión que se actualizó fue a la virtualbox 5.1.4-dfsg-1+b1. El gran problema era que ninguna maquina virtual quería arrancar, se quedaba en un largo limbo con el mensaje “starting virtual machine”, como el de la imagen de a continuación.

+

Starting virtual machine ... VirtualBox

+

Ninguna, pero ninguna maquina arrancó, se quedaban en ese mensaje. Fue de esos instantes en que sudas helado … 😉

+

Con un poco de investigación fue a parar al archivo ~/.VirtualBox/VBoxSVC.log que indicaba

+
$ tail -f ~/.VirtualBox/VBoxSVC.log
+ 00:08:32.932717 nspr-7 Failed to open "/dev/vboxdrvu", errno=13, rc=VERR_VM_DRIVER_NOT_ACCESSIBLE
+ 00:08:33.555836 nspr-6 Failed to open "/dev/vboxdrvu", errno=13, rc=VERR_VM_DRIVER_NOT_ACCESSIBLE
+

 

+

Fui… algo de donde agarrarse. Mirando un poco mas se trataba de problemas con los permisos al vboxdrvu, mirando indicaba que tenía 0600.

+

 

+
$ ls -lh /dev/vboxdrvu 
+ crw------- 1 root root 10, 56 Sep 10 12:47 /dev/vboxdrvu
+

 

+

El tema es que deben estar en 0666,  le cambias los permisos y eso soluciona el problema 🙂

+
+$ sudo chmod 0666 /dev/vboxdrvu
+$ ls -lh /dev/vboxdrvu
+ crw-rw-rw- 1 root root 10, 56 Sep 10 12:47 /dev/vboxdrvu
+

La entrada Problema VirtualBox “starting virtual machine” … aparece primero en Rodrigo Ramírez Norambuena.

+]]>
+ https://rodrigoramirez.com/problema-virtualbox-starting-virtual-machine/feed/ + 0 +
+ + Mejorando la consola interactiva de Python + https://rodrigoramirez.com/mejorando-la-consola-interactiva-python/ + https://rodrigoramirez.com/mejorando-la-consola-interactiva-python/#comments + Tue, 06 Sep 2016 04:24:43 +0000 + + + + + + https://rodrigoramirez.com/?p=1247 + Cuando estás desarrollando en Python es muy cool estar utilizando la consola interactiva para ir probando cosas antes de ponerlas dentro del archivo de código fuente. La consola de Python funciona y cumple su cometido. Solo al tipear  python  te permite entrar en modo interactivo e ir probando cosas. El punto es que a veces […]

+

La entrada Mejorando la consola interactiva de Python aparece primero en Rodrigo Ramírez Norambuena.

+]]>
+ Cuando estás desarrollando en Python es muy cool estar utilizando la consola interactiva para ir probando cosas antes de ponerlas dentro del archivo de código fuente.

+

La consola de Python funciona y cumple su cometido. Solo al tipear  python  te permite entrar en modo interactivo e ir probando cosas.

+

El punto es que a veces uno necesita ir un poco más allá. Como autocomentado de código o resaltado de sintaxis, para eso tengo dos truco que utilizo generalmente.

+

Truco a)

+

Este permite añadirle algunos esteriodes a la consolta, en realidad uno, el autocompletado. Esto es de gran ayuda para ir conociendo los metodo que puede tener un objecto, funciones u operaciones.

+

Para esto se ocupo rlcompleterreadline.

+

 

+

Lo que hace que hacer luego de tipear python es agregar lo siguiente dentro de la consola interativa

+

import rlcompleter, readline
+readline.parse_and_bind(‘tab:complete’)

+

Ya con esto te permite autocomentar código 🙂

+

+

 

+

Truco b)

+

Esto es mejorar un poco más. Es utilizar embed de IPython,  ya en la consola digita (copias o pegas) lo siguiente

+

from IPython import embed
+embed()

+

Y el resultado será lo que se ve a continuación… bueno, no?

+

 

+

+

 

+

Si no quieres estar escribiendo cada vez que entras, agregas estas instrucciones en tu archivo  ~/.pythonrc.py  y lo hará cada vez que entras en el modo interactivo de la consola de Python. Lo que si, tu archivo pythonrc.py debe estar seteado en variable de entorno PYTHONSTARTUP

+

ejemplo

+

export  PYTHONSTARTUP=~/.pythonrc.py

+

O lo agregas a un bashrc, zshrc o la shell que ocupes.

+

La entrada Mejorando la consola interactiva de Python aparece primero en Rodrigo Ramírez Norambuena.

+]]>
+ https://rodrigoramirez.com/mejorando-la-consola-interactiva-python/feed/ + 4 +
+ + QPanel 0.12.0 con estadísticas + https://rodrigoramirez.com/qpanel-0-12-0-estadisticas/ + https://rodrigoramirez.com/qpanel-0-12-0-estadisticas/#respond + Mon, 22 Aug 2016 04:19:03 +0000 + + + + + + + + + + + + + https://rodrigoramirez.com/?p=1268 + Ya está disponible una nueva versión de QPanel, esta es la 0.12.0 Para instalar esta nueva versión, debes visitar la siguiente URL https://github.com/roramirez/qpanel/tree/0.12.0 En esta nueva versión las funcionalidades agregadas son: Permite remover los agentes de las cola Posibilidad de cancelar llamadas que están en espera de atención Estadísticas por rango de fecha obtenidas desde […]

+

La entrada QPanel 0.12.0 con estadísticas aparece primero en Rodrigo Ramírez Norambuena.

+]]>
+ Panel monitor callcenter | Qpanel Monitor ColasYa está disponible una nueva versión de QPanel, esta es la 0.12.0

+

Para instalar esta nueva versión, debes visitar la siguiente URL

+ +

En esta nueva versión las funcionalidades agregadas son:

+
    +
  • Permite remover los agentes de las cola
  • +
  • Posibilidad de cancelar llamadas que están en espera de atención
  • +
  • Estadísticas por rango de fecha obtenidas desde el queue_log de Asterisk
  • +
  • Se actualiza a Flask 0.11
  • +
+

Si deseas colaborar con el proyecto puedes agregar nuevas sugerencias mediante un issue ó colaborar mediante mediante un Pull Request

+

La entrada QPanel 0.12.0 con estadísticas aparece primero en Rodrigo Ramírez Norambuena.

+]]>
+ https://rodrigoramirez.com/qpanel-0-12-0-estadisticas/feed/ + 0 +
+ + QPanel 0.11.0 con Spy, Whisper y mas + https://rodrigoramirez.com/qpanel-spy-supervisor/ + https://rodrigoramirez.com/qpanel-spy-supervisor/#comments + Thu, 21 Jul 2016 01:53:21 +0000 + + + + + + + + + + + + + https://rodrigoramirez.com/?p=1245 + Ya está disponible una nueva versión de QPanel, esta es la 0.11.0 Para instalar esta nueva versión, debes visitar la siguiente URL https://github.com/roramirez/qpanel/tree/0.11.0 Esta versión hemos agregado  algunas funcionalidades que los usuarios  han ido solicitando. Para esta versión es posible realizar Spy, Whisper o Barge a un canal para la supervisión de los miembros que […]

+

La entrada QPanel 0.11.0 con Spy, Whisper y mas aparece primero en Rodrigo Ramírez Norambuena.

+]]>
+ Panel monitor callcenter | Qpanel Monitor ColasYa está disponible una nueva versión de QPanel, esta es la 0.11.0

+

Para instalar esta nueva versión, debes visitar la siguiente URL

+ +

Esta versión hemos agregado  algunas funcionalidades que los usuarios  han ido solicitando.

+

Para esta versión es posible realizar Spy, Whisper o Barge a un canal para la supervisión de los miembros que están en una cola.

+

También el sistema de plantillas se hecho una refactorización para eliminar exceso de codigo HTML usando uno de base.

+

Se han agregado una suite de tests unitarios que al contar del avance del proyecto deberían ir incrementando.

+

Se ha solucionado un bug con la actualización del color del estado del agente cuando es uno nuevo agregado a la cola.

+

 

+

El proyecto siempre está abierto a nuevas sugerencias las cuales puedes agregar mediante un issue.

+

La entrada QPanel 0.11.0 con Spy, Whisper y mas aparece primero en Rodrigo Ramírez Norambuena.

+]]>
+ https://rodrigoramirez.com/qpanel-spy-supervisor/feed/ + 4 +
+ + Añadir Swap a un sistema + https://rodrigoramirez.com/crear-swap/ + https://rodrigoramirez.com/crear-swap/#respond + Fri, 15 Jul 2016 05:07:43 +0000 + + + + https://rodrigoramirez.com/?p=1234 + Algo que me toma generalmente hacer es cuando trabajo con maquina virtuales es asignar una cantidad determinada de Swap. La  memoria swap es un espacio de intercambio en disco para cuando el sistema ya no puede utilizar más memoria RAM. El problema para mi es que algunos sistemas de maquinas virtuales no asignan por defecto […]

+

La entrada Añadir Swap a un sistema aparece primero en Rodrigo Ramírez Norambuena.

+]]>
+ Algo que me toma generalmente hacer es cuando trabajo con maquina virtuales es asignar una cantidad determinada de Swap.

+

La  memoria swap es un espacio de intercambio en disco para cuando el sistema ya no puede utilizar más memoria RAM.

+

El problema para mi es que algunos sistemas de maquinas virtuales no asignan por defecto un espacio para la Swap, lo que te lleva a que el sistema pueda tener crash durante la ejecución.

+

Para comprobar la asignación de memoria, al ejecutar el comando free nos debería mostrar como algo similar a lo siguiente

+

 

+
$  free -m
+             total       used       free     shared    buffers     cached
+Mem:           494        488          6          1         54         75
+-/+ buffers/cache:        357        136
+Swap:            0          0          0
+

En la zona de swap indica que no asignada, valor 0.

+

Para asignar swap al sistema se debe  un archivo en disco para que sea utilizado como espacio de intercambio, en este caso lo vamos  crear uno  de 3GB en la raíz del sistema

+
fallocate -l 3G /swapfile
+

Comprobamos que ha sido creado

+
$ ls -lh /swapfile
+-rw-r--r-- 1 root root 3.0G Jul 11 13:10 /swapfile
+
+

Habilitación del archivo Swap

+

Ahora nos toca habilitar el archivo creado. Para eso le asignaremos los permisos

+
chmod 600 /swapfile
+

Lo siguiente es para convertir el  archivo para swap

+
mkswap /swapfile
+

Para habilitar y asignarla eso como memoria swap al sistema usamos

+
swapon /swapfile
+

Ya con esto podrémos ver en nuestro sistema la memoria asignada para swap

+
$ free -m
+             total       used       free     shared    buffers     cached
+Mem:           494        486          7          1         51         77
+-/+ buffers/cache:        358        136
+Swap:         3071          0       3071
+

 

+

Para que al reiniciar el sistema esto se mantenga, debemos agregar la siguiente línea al archivo /etc/fstab

+
/swapfile none swap sw 0 0
+

 

+

Podemos editar /etc/fstab con algún editor como vim, nano o podemos agregar la linea directamente en la desde la cli de la siguiente manera

+
echo "/swapfile none swap sw 0 0" >> /etc/fstab
+

 

+

 

+

La entrada Añadir Swap a un sistema aparece primero en Rodrigo Ramírez Norambuena.

+]]>
+ https://rodrigoramirez.com/crear-swap/feed/ + 0 +
+ + QPanel 0.10.0 con vista consolidada + https://rodrigoramirez.com/qpanel-0-10-0-vista-consolidada/ + https://rodrigoramirez.com/qpanel-0-10-0-vista-consolidada/#respond + Mon, 20 Jun 2016 19:32:55 +0000 + + + + + + + + + https://rodrigoramirez.com/?p=1227 + Ya con la release numero 28 la nueva versión 0.10.0 de QPanel ya está disponible. Para instalar esta nueva versión, debes visitar la siguiente URL https://github.com/roramirez/qpanel/tree/0.10.0 Esta versión versión nos preocupamos de realizar mejoras, refactorizaciones y agregamos una nueva funcionalidad. La nueva funcionalidad incluida es  que ahora es posible contar con una vista consolidada para […]

+

La entrada QPanel 0.10.0 con vista consolidada aparece primero en Rodrigo Ramírez Norambuena.

+]]>
+ Panel monitor callcenter | Qpanel Monitor ColasYa con la release numero 28 la nueva versión 0.10.0 de QPanel ya está disponible.

+

Para instalar esta nueva versión, debes visitar la siguiente URL

+ +

Esta versión versión nos preocupamos de realizar mejoras, refactorizaciones y agregamos una nueva funcionalidad.

+

La nueva funcionalidad incluida es  que ahora es posible contar con una vista consolidada para la información de todas las colas. Que hace tener un mejor control y visualización de lo que está pasando en las colas.

+

El proyecto siempre está abierto a nuevas sugerencias las cuales puedes agregar mediante un issue.

+

La entrada QPanel 0.10.0 con vista consolidada aparece primero en Rodrigo Ramírez Norambuena.

+]]>
+ https://rodrigoramirez.com/qpanel-0-10-0-vista-consolidada/feed/ + 0 +
+ + Nerdearla 2016, WebRTC Glue + https://rodrigoramirez.com/nerdearla-2016/ + https://rodrigoramirez.com/nerdearla-2016/#respond + Wed, 15 Jun 2016 17:55:41 +0000 + + + + + + + + + + + https://rodrigoramirez.com/?p=1218 + Días atrás estuve participando en el evento llamado Nerdearla en Buenos Aires.  El ambiente era genial si eres de esas personas que desde niño sintio curiosidad por ver como funcionan las cosas, donde desarmabas para volver armar lo juguetes. Habían muchas cosas interesantes tanto en las presentaciones, co-working y workshop que se hubieron. Si te […]

+

La entrada Nerdearla 2016, WebRTC Glue aparece primero en Rodrigo Ramírez Norambuena.

+]]>
+ Días atrás estuve participando en el evento llamado Nerdearla en Buenos Aires.  El ambiente era genial si eres de esas personas que desde niño sintio curiosidad por ver como funcionan las cosas, donde desarmabas para volver armar lo juguetes.

+

Habían muchas cosas interesantes tanto en las presentaciones, co-working y workshop que se hubieron. Si te lo perdiste te recomiendo que estés pendiente para el proximo año.

+

 

+

Te podias encontrar con una nuestra como estaKaypro II

+

Puedes dar un vistaso a lo registrado por algunos usuarios en Twitter

+

El primer día hice un workshop denominado WebRTC Glue, donde muestra como hacer como unificar la experiencia de atención del centro de contacto directamente en la web. Es una presentación práctica donde puedes ver los ejemplos y usarlos como gustes. Están en el repositorio en Gitlab. La presentación la puedes ver aquí

+

 

+

WebRTC Glue

+

Haber si nos vemos el próximo año.

+

 

+

Update: Puedes ver una parte sin la demostración del workshop

+


+

La entrada Nerdearla 2016, WebRTC Glue aparece primero en Rodrigo Ramírez Norambuena.

+]]>
+ https://rodrigoramirez.com/nerdearla-2016/feed/ + 0 +
+ + QPanel 0.9.0 + https://rodrigoramirez.com/qpanel-0-9-0/ + https://rodrigoramirez.com/qpanel-0-9-0/#respond + Mon, 09 May 2016 18:40:23 +0000 + + + + + + + + + + + + http://rodrigoramirez.com/?p=1206 + El Panel monitor callcenter para colas de Asterisk ya cuenta con una nueva versión, la 0.9.0 Para instalar esta nueva versión, debes visitar la siguiente URL https://github.com/roramirez/qpanel/tree/0.9.0 Esta versión versión nos preocupamos de realizar mejoras y refactorizaciones en el codigo para dar un mejor rendimiento, como también de la compatibilidad con la versión 11 de […]

+

La entrada QPanel 0.9.0 aparece primero en Rodrigo Ramírez Norambuena.

+]]>
+ Panel monitor callcenter | Qpanel Monitor ColasEl Panel monitor callcenter para colas de Asterisk ya cuenta con una nueva versión, la 0.9.0

+

Para instalar esta nueva versión, debes visitar la siguiente URL

+ +

Esta versión versión nos preocupamos de realizar mejoras y refactorizaciones en el codigo para dar un mejor rendimiento, como también de la compatibilidad con la versión 11 de Asterisk.

+

Dentro de las cosas que podamos mencionar:

+
    +
  •  Actualización del repositorio y versión de py-asterisk, biblioteca para trabajar con Asterisk. Acá la ocupamos principalmente para uso del Manager.
  • +
  • Portación de parche de funcionalidades como pausa, tiempo, razón de una pausa para Asterisk 11.
  • +
  • Cambio del comportamiento en el conteo cuando el participante en una cola está ocupado (busy)
  • +
+

El proyecto siempre está abierto a nuevas sugerencias las cuales puedes agregar mediante un issue.

+

La entrada QPanel 0.9.0 aparece primero en Rodrigo Ramírez Norambuena.

+]]>
+ https://rodrigoramirez.com/qpanel-0-9-0/feed/ + 0 +
+ + Mandar un email desde la shell + https://rodrigoramirez.com/mandar-un-email-desde-la-shell/ + https://rodrigoramirez.com/mandar-un-email-desde-la-shell/#comments + Wed, 13 Apr 2016 13:05:13 +0000 + + + + + + + + + + + http://rodrigoramirez.com/?p=1172 + Dejo esto por acá ya que es algo que siempre me olvido como es. El tema es enviar un email mediante el comando mail en un servidor con Linux. Si usas mail a secas te va pidiendo los datos para crear el correo, principalmente el body del correo. Para automatizar esto a través de un […]

+

La entrada Mandar un email desde la shell aparece primero en Rodrigo Ramírez Norambuena.

+]]>
+ Dejo esto por acá ya que es algo que siempre me olvido como es. El tema es enviar un email mediante el comando mail en un servidor con Linux.

+

Si usas mail a secas te va pidiendo los datos para crear el correo, principalmente el body del correo. Para automatizar esto a través de un echo le pasas por pipe a mail

+
echo "Cuerpo del mensaje" | mail -s Asunto a@rodrigoramirez.com
+

La entrada Mandar un email desde la shell aparece primero en Rodrigo Ramírez Norambuena.

+]]>
+ https://rodrigoramirez.com/mandar-un-email-desde-la-shell/feed/ + 4 +
+
+
diff --git a/tests/configs/modules/newsfeed/default.js b/tests/configs/modules/newsfeed/default.js index 071f39a1..5cb9d311 100644 --- a/tests/configs/modules/newsfeed/default.js +++ b/tests/configs/modules/newsfeed/default.js @@ -25,8 +25,8 @@ var config = { config: { feeds: [ { - title: "New York Times", - url: "http://localhost:8080/tests/configs/data/feed_test_newtimes.xml" + title: "Rodrigo Ramirez Blog", + url: "http://localhost:8080/tests/configs/data/feed_test_rodrigoramirez.xml" }, ] } From 2a94ee55ccb8fa06f4d07c2a67307b5ed0a659a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Fri, 10 Mar 2017 21:02:33 -0300 Subject: [PATCH 08/57] Add first test for newsfeed module. This test case check if set newsfeed title --- tests/e2e/modules/newsfeed_spec.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/tests/e2e/modules/newsfeed_spec.js b/tests/e2e/modules/newsfeed_spec.js index 4b0b4ea8..049d1a2a 100644 --- a/tests/e2e/modules/newsfeed_spec.js +++ b/tests/e2e/modules/newsfeed_spec.js @@ -18,14 +18,11 @@ describe("Newsfeed module", function () { describe("Default configuration", function() { before(function() { - // Set config sample for use in test process.env.MM_CONFIG_FILE = "tests/configs/modules/newsfeed/default.js"; }); - it("Check here", function () { - return app.client.waitUntilTextExists(".newsfeed .small", "New York Times, in day:", 10000); + it("show title newsfeed", function () { + return app.client.waitUntilTextExists(".newsfeed .small", "Rodrigo Ramirez Blog", 10000).should.be.fulfilled; }); - }); - }); From b23e47464882290b43a4b3fb2e18d1095f13c8b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Sat, 18 Mar 2017 09:36:50 -0300 Subject: [PATCH 09/57] Format changelog for 2.1.1 --- CHANGELOG.md | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7fe62971..f5d33af8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,13 +23,13 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Restructured Test Suite ### Added -- Added Docker support (Pull Request [#673](https://github.com/MichMich/MagicMirror/pull/673)) -- Calendar-specific support for `maximumEntries`, and ` maximumNumberOfDays` +- Added Docker support (Pull Request [#673](https://github.com/MichMich/MagicMirror/pull/673)). +- Calendar-specific support for `maximumEntries`, and ` maximumNumberOfDays`. - Add loaded function to modules, providing an async callback. - Made default newsfeed module aware of gesture events from [MMM-Gestures](https://github.com/thobach/MMM-Gestures) -- Add use pm2 for manager process into Installer RaspberryPi script -- Russian Translation -- Afrikaans Translation +- Add use pm2 for manager process into Installer RaspberryPi script. +- Russian Translation. +- Afrikaans Translation. - Add postinstall script to notify user that MagicMirror installed successfully despite warnings from NPM. - Init tests using mocha. - Option to use RegExp in Calendar's titleReplace. @@ -37,22 +37,22 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Icelandic Translation. - Add use a script to prevent when is run by SSH session set DISPLAY enviroment. - Enable ability to set configuration file by the enviroment variable called MM_CONFIG_FILE. -- Option to give each calendar a different color -- Option for colored min-temp and max-temp -- Add test e2e helloworld -- Add test e2e enviroment -- Add `chai-as-promised` npm module to devDependencies -- Basic set of tests for clock module -- Run e2e test in Travis +- Option to give each calendar a different color. +- Option for colored min-temp and max-temp. +- Add test e2e helloworld. +- Add test e2e enviroment. +- Add `chai-as-promised` npm module to devDependencies. +- Basic set of tests for clock module. +- Run e2e test in Travis. - Estonian Translation. -- Add test for compliments module for parts of day +- Add test for compliments module for parts of day. - Korean Translation. -- Added console warning on startup when deprecated config options are used -- Add option to display temperature unit label to the current weather module -- Added ability to disable wrapping of news items +- Added console warning on startup when deprecated config options are used. +- Add option to display temperature unit label to the current weather module. +- Added ability to disable wrapping of news items. - Added in the ability to hide events in the calendar module based on simple string filters. - Updated Norwegian translation. -- Added hideLoading option for News Feed module +- Added hideLoading option for News Feed module. - Added configurable dateFormat to clock module. - Added multiple calendar icon support. @@ -63,7 +63,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Fix an issue where the analog clock looked scrambled. ([#611](https://github.com/MichMich/MagicMirror/issues/611)) - If units is set to imperial, the showRainAmount option of weatherforecast will show the correct unit. - Module currentWeather: check if temperature received from api is defined. -- Fix an issue with module hidden status changing to `true` although lock string prevented showing it +- Fix an issue with module hidden status changing to `true` although lock string prevented showing it. - Fix newsfeed module bug (removeStartTags) - Fixed missing animation on `this.show(speed)` when module is alone in a region. From ae33de7e7cdcfd74a091ba74a7268390ffa50d2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Sat, 18 Mar 2017 09:42:36 -0300 Subject: [PATCH 10/57] Add in Changelog missing tests added for 2.1.1 version --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7fe62971..07d1f2f3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -55,6 +55,10 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Added hideLoading option for News Feed module - Added configurable dateFormat to clock module. - Added multiple calendar icon support. +- Added tests for Translations, dev argument, version, dev console. +- Added test anytime feature compliments module. +- Added test ipwhitelist configuration directive. +- Added test for calendar module: default, basic-auth, backward compability, fail-basic-auth. ### Fixed - Update .gitignore to not ignore default modules folder. From f89f704a69bc414cb8231fa7a0a1f8b42b4b34f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Sat, 18 Mar 2017 09:33:03 -0300 Subject: [PATCH 11/57] Add task to check configuration file syntax. --- CHANGELOG.md | 1 + README.md | 5 +++ js/utils.js | 3 +- package.json | 8 +++-- tests/configs/check_config.js | 66 +++++++++++++++++++++++++++++++++++ 5 files changed, 79 insertions(+), 4 deletions(-) create mode 100644 tests/configs/check_config.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 564564cb..3c6850d6 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -49,6 +49,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Korean Translation. - Added console warning on startup when deprecated config options are used - Added `DAYAFTERTOMORROW`, `UPDATE_NOTIFICATION`, `UPDATE_NOTIFICATION_MODULE`, `UPDATE_INFO` to Norwegian translations (`nn` and `nb`). +- Add task to check configuration file ### Fixed - Update .gitignore to not ignore default modules folder. diff --git a/README.md b/README.md index 9cadb364..2be4b1f3 100644 --- a/README.md +++ b/README.md @@ -104,6 +104,11 @@ Type `git status` to see your changes, if there are any, you can reset them with 1. Duplicate `config/config.js.sample` to `config/config.js`. **Note:** If you used the installer script. This step is already done for you. 2. Modify your required settings. +Note: You'll can check your configuration running the follow command: +```bash +npm run config:check +``` + The following properties can be configured: | **Option** | **Description** | diff --git a/js/utils.js b/js/utils.js index 76eb2703..3f623499 100644 --- a/js/utils.js +++ b/js/utils.js @@ -11,7 +11,8 @@ var colors = require("colors/safe"); var Utils = { colors: { warn: colors.yellow, - error: colors.red + error: colors.red, + info: colors.blue } }; diff --git a/package.json b/package.json index 704f8394..d2cf4f36 100644 --- a/package.json +++ b/package.json @@ -6,9 +6,10 @@ "scripts": { "start": "sh run-start.sh", "postinstall": "sh installers/postinstall/postinstall.sh", - "test": "./node_modules/mocha/bin/mocha tests --recursive", - "test:unit": "./node_modules/mocha/bin/mocha tests/unit --recursive", - "test:e2e": "./node_modules/mocha/bin/mocha tests/e2e --recursive" + "test": "NODE_ENV=test ./node_modules/mocha/bin/mocha tests --recursive", + "test:unit": "NODE_ENV=test ./node_modules/mocha/bin/mocha tests/unit --recursive", + "test:e2e": "NODE_ENV=test ./node_modules/mocha/bin/mocha tests/e2e --recursive", + "config:check": "node tests/configs/check_config.js" }, "repository": { "type": "git", @@ -38,6 +39,7 @@ "grunt-markdownlint": "^1.0.13", "grunt-stylelint": "latest", "grunt-yamllint": "latest", + "jshint": "^2.9.4", "mocha": "^3.2.0", "spectron": "^3.4.1", "stylelint-config-standard": "latest", diff --git a/tests/configs/check_config.js b/tests/configs/check_config.js new file mode 100644 index 00000000..fa294761 --- /dev/null +++ b/tests/configs/check_config.js @@ -0,0 +1,66 @@ +/* Magic Mirror + * + * Checker configuration file + * + * By Rodrigo Ramírez Norambuena + * https://rodrigoramirez.com + * + * MIT Licensed. + * + */ + +var v = require("jshint"); +var path = require("path"); +var fs = require("fs"); +var Utils = require(__dirname + "/../../js/utils.js"); + +if (process.env.NODE_ENV == "test") {return 0}; + +/* getConfigFile() + * Return string with path of configuration file + * Check if set by enviroment variable MM_CONFIG_FILE + */ +function getConfigFile() { + // FIXME: This function should be in core. Do you want refactor me ;) ?, be good! + rootPath = path.resolve(__dirname + "/../../"); + var configFileName = path.resolve(rootPath + "/config/config.js"); + if (process.env.MM_CONFIG_FILE) { + configFileName = path.resolve(process.env.MM_CONFIG_FILE); + } + return configFileName; +} + +var configFileName = getConfigFile(); +// Check if file is present +if (fs.existsSync(configFileName) === false) { + console.error(Utils.colors.error("File not found: "), configFileName); + return; +} +// check permision +try { + fs.accessSync(configFileName, fs.F_OK); +} catch (e) { + console.log(Utils.colors.error(e)); + return; +} + +// Validate syntax of the configuration file. +// In case the there errors show messages and +// return +console.info(Utils.colors.info("Checking file... ", configFileName)); + // I'm not sure if all ever is utf-8 +fs.readFile(configFileName, "utf-8", function(err, data) { + if (err) {throw err;} + v.JSHINT(data); // Parser by jshint + + if (v.JSHINT.errors.length == 0) { + console.log("Your configuration file don't containt syntax error :)"); + return true; + } else { + errors = v.JSHINT.data().errors; + for (idx in errors) { + error = errors[idx]; + console.log("Line", error.line, "col", error.character, error.reason); + } + } +}); From 7918448be267f62f3ef8358a05eb88ac216bf822 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Sat, 18 Mar 2017 12:40:07 -0300 Subject: [PATCH 12/57] Add test for vendor This test get all vendor defined. Create a get request http each vendor and expect the 200 HTTP code. --- tests/e2e/vendor_spec.js | 36 ++++++++++++++++++++++++++++++++++++ vendor/vendor.js | 2 ++ 2 files changed, 38 insertions(+) create mode 100644 tests/e2e/vendor_spec.js diff --git a/tests/e2e/vendor_spec.js b/tests/e2e/vendor_spec.js new file mode 100644 index 00000000..39abf906 --- /dev/null +++ b/tests/e2e/vendor_spec.js @@ -0,0 +1,36 @@ +const globalSetup = require("./global-setup"); +const app = globalSetup.app; +const request = require("request"); +const chai = require("chai"); +const expect = chai.expect; + + +describe("Vendors", function () { + + this.timeout(20000); + + beforeEach(function (done) { + app.start().then(function() { done(); } ); + }); + + afterEach(function (done) { + app.stop().then(function() { done(); }); + }); + + describe("Get list vendors", function () { + + before(function() { + process.env.MM_CONFIG_FILE = "tests/configs/env.js"; + }); + + var vendors = require(__dirname + "/../../vendor/vendor.js"); + Object.keys(vendors).forEach(vendor => { + it(`should return 200 HTTP code for vendor "${vendor}"`, function() { + urlVendor = "http://localhost:8080/vendor/" + vendors[vendor]; + request.get(urlVendor, function (err, res, body) { + expect(res.statusCode).to.equal(200); + }); + }); + }); + }); +}); diff --git a/vendor/vendor.js b/vendor/vendor.js index 7076cc45..82535b7a 100644 --- a/vendor/vendor.js +++ b/vendor/vendor.js @@ -14,3 +14,5 @@ var vendor = { "weather-icons-wind.css": "node_modules/weathericons/css/weather-icons-wind.css", "font-awesome.css": "node_modules/font-awesome/css/font-awesome.min.css" }; + +if (typeof module !== "undefined"){module.exports = vendor;} From 4fb86bd6996f819399fb9077074dd46df793f39c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Sun, 19 Mar 2017 16:54:36 -0300 Subject: [PATCH 13/57] change description package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7a1e7641..a190f12d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "magicmirror", "version": "2.1.1", - "description": "A modular interface for smart mirrors.", + "description": "The open source modular smart mirror platform.", "main": "js/electron.js", "scripts": { "start": "sh run-start.sh", From f0db135b1d5e17ed96550a2999792144bd5486af Mon Sep 17 00:00:00 2001 From: 42SK <42SK@github.com> Date: Tue, 21 Mar 2017 19:39:51 +0100 Subject: [PATCH 14/57] Added option to ignore old items in the news feed module Outdated news items can be omitted via the ignoreOldItems and the ignoreOlderThan option. --- CHANGELOG.md | 1 + modules/default/newsfeed/README.md | 2 ++ modules/default/newsfeed/newsfeed.js | 6 +++++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7fe62971..39ecfa6a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -55,6 +55,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Added hideLoading option for News Feed module - Added configurable dateFormat to clock module. - Added multiple calendar icon support. +- Added `ignoreOldItems` and `ignoreOlderThan` options to the News Feed module ### Fixed - Update .gitignore to not ignore default modules folder. diff --git a/modules/default/newsfeed/README.md b/modules/default/newsfeed/README.md index 9f7b2e7d..7c4ad48d 100644 --- a/modules/default/newsfeed/README.md +++ b/modules/default/newsfeed/README.md @@ -70,6 +70,8 @@ The following properties can be configured: | `updateInterval` | How often do you want to display a new headline? (Milliseconds)

**Possible values:**`1000` - `60000`
**Default value:** `10000` (10 seconds) | `animationSpeed` | Speed of the update animation. (Milliseconds)

**Possible values:**`0` - `5000`
**Default value:** `2500` (2.5 seconds) | `maxNewsItems` | Total amount of news items to cycle through. (0 for unlimited)

**Possible values:**`0` - `...`
**Default value:** `0` +| `ignoreOldItems` | Ignore news items that are outdated.

**Possible values:**`true` or `false
**Default value:** `false` +| `ignoreOlderThan` | How old should news items be before they are considered outdated? (Milliseconds)

**Possible values:**`1` - `...`
**Default value:** `86400000` (1 day) | `removeStartTags` | Some newsfeeds feature tags at the **beginning** of their titles or descriptions, such as _[VIDEO]_. This setting allows for the removal of specified tags from the beginning of an item's description and/or title.

**Possible values:**`'title'`, `'description'`, `'both'` | `startTags` | List the tags you would like to have removed at the beginning of the feed item

**Possible values:** `['TAG']` or `['TAG1','TAG2',...]` | `removeEndTags` | Remove specified tags from the **end** of an item's description and/or title.

**Possible values:**`'title'`, `'description'`, `'both'` diff --git a/modules/default/newsfeed/newsfeed.js b/modules/default/newsfeed/newsfeed.js index 5094355e..b7ec2f58 100644 --- a/modules/default/newsfeed/newsfeed.js +++ b/modules/default/newsfeed/newsfeed.js @@ -28,6 +28,8 @@ Module.register("newsfeed",{ updateInterval: 10 * 1000, animationSpeed: 2.5 * 1000, maxNewsItems: 0, // 0 for unlimited + ignoreOldItems: false, + ignoreOlderThan: 24 * 60 * 60 * 1000, // 1 day removeStartTags: "", removeEndTags: "", startTags: [], @@ -226,7 +228,9 @@ Module.register("newsfeed",{ for (var i in feedItems) { var item = feedItems[i]; item.sourceTitle = this.titleForFeed(feed); - newsItems.push(item); + if (!(this.config.ignoreOldItems && ((Date.now() - new Date(item.pubdate)) > this.config.ignoreOlderThan))) { + newsItems.push(item); + } } } } From 6a0e16885dc8cdea2b1455c0f5131c59134d743d Mon Sep 17 00:00:00 2001 From: Flo Date: Tue, 21 Mar 2017 20:56:11 +0100 Subject: [PATCH 15/57] Support full screen mode on iOS and enable "click to toggle fullscreen" in standard browsers --- css/main.css | 1 + index.html | 17 +++++- js/screenfull.js | 150 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 167 insertions(+), 1 deletion(-) create mode 100644 js/screenfull.js diff --git a/css/main.css b/css/main.css index 5e63e596..924ec4de 100644 --- a/css/main.css +++ b/css/main.css @@ -1,6 +1,7 @@ html { cursor: none; overflow: hidden; + background: #000; } ::-webkit-scrollbar { diff --git a/index.html b/index.html index 86a69a4a..edc63369 100644 --- a/index.html +++ b/index.html @@ -4,6 +4,12 @@ Magic Mirror + + + + + + @@ -12,8 +18,17 @@ + + + - +
diff --git a/js/screenfull.js b/js/screenfull.js new file mode 100644 index 00000000..de20b55e --- /dev/null +++ b/js/screenfull.js @@ -0,0 +1,150 @@ +/*! +* screenfull +* v3.0.2 - 2017-03-13 +* (c) Sindre Sorhus; MIT License +*/ +(function () { + 'use strict'; + + var isCommonjs = typeof module !== 'undefined' && module.exports; + var keyboardAllowed = typeof Element !== 'undefined' && 'ALLOW_KEYBOARD_INPUT' in Element; + + var fn = (function () { + var val; + + var fnMap = [ + [ + 'requestFullscreen', + 'exitFullscreen', + 'fullscreenElement', + 'fullscreenEnabled', + 'fullscreenchange', + 'fullscreenerror' + ], + // new WebKit + [ + 'webkitRequestFullscreen', + 'webkitExitFullscreen', + 'webkitFullscreenElement', + 'webkitFullscreenEnabled', + 'webkitfullscreenchange', + 'webkitfullscreenerror' + + ], + // old WebKit (Safari 5.1) + [ + 'webkitRequestFullScreen', + 'webkitCancelFullScreen', + 'webkitCurrentFullScreenElement', + 'webkitCancelFullScreen', + 'webkitfullscreenchange', + 'webkitfullscreenerror' + + ], + [ + 'mozRequestFullScreen', + 'mozCancelFullScreen', + 'mozFullScreenElement', + 'mozFullScreenEnabled', + 'mozfullscreenchange', + 'mozfullscreenerror' + ], + [ + 'msRequestFullscreen', + 'msExitFullscreen', + 'msFullscreenElement', + 'msFullscreenEnabled', + 'MSFullscreenChange', + 'MSFullscreenError' + ] + ]; + + var i = 0; + var l = fnMap.length; + var ret = {}; + + for (; i < l; i++) { + val = fnMap[i]; + if (val && val[1] in document) { + for (i = 0; i < val.length; i++) { + ret[fnMap[0][i]] = val[i]; + } + return ret; + } + } + + return false; + })(); + + var screenfull = { + request: function (elem) { + var request = fn.requestFullscreen; + + elem = elem || document.documentElement; + + // Work around Safari 5.1 bug: reports support for + // keyboard in fullscreen even though it doesn't. + // Browser sniffing, since the alternative with + // setTimeout is even worse. + if (/5\.1[.\d]* Safari/.test(navigator.userAgent)) { + elem[request](); + } else { + elem[request](keyboardAllowed && Element.ALLOW_KEYBOARD_INPUT); + } + }, + exit: function () { + document[fn.exitFullscreen](); + }, + toggle: function (elem) { + if (this.isFullscreen) { + this.exit(); + } else { + this.request(elem); + } + }, + onchange: function (callback) { + document.addEventListener(fn.fullscreenchange, callback, false); + }, + onerror: function (callback) { + document.addEventListener(fn.fullscreenerror, callback, false); + }, + raw: fn + }; + + if (!fn) { + if (isCommonjs) { + module.exports = false; + } else { + window.screenfull = false; + } + + return; + } + + Object.defineProperties(screenfull, { + isFullscreen: { + get: function () { + return Boolean(document[fn.fullscreenElement]); + } + }, + element: { + enumerable: true, + get: function () { + return document[fn.fullscreenElement]; + } + }, + enabled: { + enumerable: true, + get: function () { + // Coerce to boolean in case of old WebKit + return Boolean(document[fn.fullscreenEnabled]); + } + } + }); + + if (isCommonjs) { + module.exports = screenfull; + } else { + window.screenfull = screenfull; + } +})(); From 09c03e8ca7687aeea2d01b8cccd909b8cc5d6f32 Mon Sep 17 00:00:00 2001 From: Flo Date: Tue, 21 Mar 2017 20:56:11 +0100 Subject: [PATCH 16/57] Support full screen mode on iOS and enable "click to toggle fullscreen" in standard browsers --- css/main.css | 1 + index.html | 17 +++++- js/screenfull.js | 150 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 167 insertions(+), 1 deletion(-) create mode 100644 js/screenfull.js diff --git a/css/main.css b/css/main.css index 01d40aec..49bfe611 100644 --- a/css/main.css +++ b/css/main.css @@ -1,6 +1,7 @@ html { cursor: none; overflow: hidden; + background: #000; } ::-webkit-scrollbar { diff --git a/index.html b/index.html index 606f5aac..72326719 100644 --- a/index.html +++ b/index.html @@ -4,6 +4,12 @@ Magic Mirror + + + + + + @@ -12,8 +18,17 @@ + + + - +
diff --git a/js/screenfull.js b/js/screenfull.js new file mode 100644 index 00000000..de20b55e --- /dev/null +++ b/js/screenfull.js @@ -0,0 +1,150 @@ +/*! +* screenfull +* v3.0.2 - 2017-03-13 +* (c) Sindre Sorhus; MIT License +*/ +(function () { + 'use strict'; + + var isCommonjs = typeof module !== 'undefined' && module.exports; + var keyboardAllowed = typeof Element !== 'undefined' && 'ALLOW_KEYBOARD_INPUT' in Element; + + var fn = (function () { + var val; + + var fnMap = [ + [ + 'requestFullscreen', + 'exitFullscreen', + 'fullscreenElement', + 'fullscreenEnabled', + 'fullscreenchange', + 'fullscreenerror' + ], + // new WebKit + [ + 'webkitRequestFullscreen', + 'webkitExitFullscreen', + 'webkitFullscreenElement', + 'webkitFullscreenEnabled', + 'webkitfullscreenchange', + 'webkitfullscreenerror' + + ], + // old WebKit (Safari 5.1) + [ + 'webkitRequestFullScreen', + 'webkitCancelFullScreen', + 'webkitCurrentFullScreenElement', + 'webkitCancelFullScreen', + 'webkitfullscreenchange', + 'webkitfullscreenerror' + + ], + [ + 'mozRequestFullScreen', + 'mozCancelFullScreen', + 'mozFullScreenElement', + 'mozFullScreenEnabled', + 'mozfullscreenchange', + 'mozfullscreenerror' + ], + [ + 'msRequestFullscreen', + 'msExitFullscreen', + 'msFullscreenElement', + 'msFullscreenEnabled', + 'MSFullscreenChange', + 'MSFullscreenError' + ] + ]; + + var i = 0; + var l = fnMap.length; + var ret = {}; + + for (; i < l; i++) { + val = fnMap[i]; + if (val && val[1] in document) { + for (i = 0; i < val.length; i++) { + ret[fnMap[0][i]] = val[i]; + } + return ret; + } + } + + return false; + })(); + + var screenfull = { + request: function (elem) { + var request = fn.requestFullscreen; + + elem = elem || document.documentElement; + + // Work around Safari 5.1 bug: reports support for + // keyboard in fullscreen even though it doesn't. + // Browser sniffing, since the alternative with + // setTimeout is even worse. + if (/5\.1[.\d]* Safari/.test(navigator.userAgent)) { + elem[request](); + } else { + elem[request](keyboardAllowed && Element.ALLOW_KEYBOARD_INPUT); + } + }, + exit: function () { + document[fn.exitFullscreen](); + }, + toggle: function (elem) { + if (this.isFullscreen) { + this.exit(); + } else { + this.request(elem); + } + }, + onchange: function (callback) { + document.addEventListener(fn.fullscreenchange, callback, false); + }, + onerror: function (callback) { + document.addEventListener(fn.fullscreenerror, callback, false); + }, + raw: fn + }; + + if (!fn) { + if (isCommonjs) { + module.exports = false; + } else { + window.screenfull = false; + } + + return; + } + + Object.defineProperties(screenfull, { + isFullscreen: { + get: function () { + return Boolean(document[fn.fullscreenElement]); + } + }, + element: { + enumerable: true, + get: function () { + return document[fn.fullscreenElement]; + } + }, + enabled: { + enumerable: true, + get: function () { + // Coerce to boolean in case of old WebKit + return Boolean(document[fn.fullscreenEnabled]); + } + } + }); + + if (isCommonjs) { + module.exports = screenfull; + } else { + window.screenfull = screenfull; + } +})(); From 8b9c274fdd7ce18102b3b560deb244e15cae4b17 Mon Sep 17 00:00:00 2001 From: Flo Date: Wed, 22 Mar 2017 22:27:19 +0100 Subject: [PATCH 17/57] Moved scripts to bottom in index.html --- index.html | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/index.html b/index.html index 72326719..e2ad7acb 100644 --- a/index.html +++ b/index.html @@ -18,15 +18,6 @@ - - -
@@ -59,5 +50,14 @@ + + + From becb9fc43e36c30e89a3a6c4ab307490b9d4fc4f Mon Sep 17 00:00:00 2001 From: Flo Date: Wed, 22 Mar 2017 22:27:47 +0100 Subject: [PATCH 18/57] Updated CHANGELOG --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7fe62971..2f7d7974 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -55,6 +55,8 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Added hideLoading option for News Feed module - Added configurable dateFormat to clock module. - Added multiple calendar icon support. +- Added meta tags to support fullscreen mode on iOS (for server mode) +- Added fullscreen toggle: within browser, clicking on the page turns it into fullscreen ### Fixed - Update .gitignore to not ignore default modules folder. From af0f1939a3e1c9ed135217e7433bb9d383d20249 Mon Sep 17 00:00:00 2001 From: Flo Date: Wed, 22 Mar 2017 22:28:51 +0100 Subject: [PATCH 19/57] Fixed lint errors --- js/screenfull.js | 68 ++++++++++++++++++++++++------------------------ 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/js/screenfull.js b/js/screenfull.js index de20b55e..f0818493 100644 --- a/js/screenfull.js +++ b/js/screenfull.js @@ -4,58 +4,58 @@ * (c) Sindre Sorhus; MIT License */ (function () { - 'use strict'; + "use strict"; - var isCommonjs = typeof module !== 'undefined' && module.exports; - var keyboardAllowed = typeof Element !== 'undefined' && 'ALLOW_KEYBOARD_INPUT' in Element; + var isCommonjs = typeof module !== "undefined" && module.exports; + var keyboardAllowed = typeof Element !== "undefined" && "ALLOW_KEYBOARD_INPUT" in Element; var fn = (function () { var val; var fnMap = [ [ - 'requestFullscreen', - 'exitFullscreen', - 'fullscreenElement', - 'fullscreenEnabled', - 'fullscreenchange', - 'fullscreenerror' + "requestFullscreen", + "exitFullscreen", + "fullscreenElement", + "fullscreenEnabled", + "fullscreenchange", + "fullscreenerror" ], // new WebKit [ - 'webkitRequestFullscreen', - 'webkitExitFullscreen', - 'webkitFullscreenElement', - 'webkitFullscreenEnabled', - 'webkitfullscreenchange', - 'webkitfullscreenerror' + "webkitRequestFullscreen", + "webkitExitFullscreen", + "webkitFullscreenElement", + "webkitFullscreenEnabled", + "webkitfullscreenchange", + "webkitfullscreenerror" ], // old WebKit (Safari 5.1) [ - 'webkitRequestFullScreen', - 'webkitCancelFullScreen', - 'webkitCurrentFullScreenElement', - 'webkitCancelFullScreen', - 'webkitfullscreenchange', - 'webkitfullscreenerror' + "webkitRequestFullScreen", + "webkitCancelFullScreen", + "webkitCurrentFullScreenElement", + "webkitCancelFullScreen", + "webkitfullscreenchange", + "webkitfullscreenerror" ], [ - 'mozRequestFullScreen', - 'mozCancelFullScreen', - 'mozFullScreenElement', - 'mozFullScreenEnabled', - 'mozfullscreenchange', - 'mozfullscreenerror' + "mozRequestFullScreen", + "mozCancelFullScreen", + "mozFullScreenElement", + "mozFullScreenEnabled", + "mozfullscreenchange", + "mozfullscreenerror" ], [ - 'msRequestFullscreen', - 'msExitFullscreen', - 'msFullscreenElement', - 'msFullscreenEnabled', - 'MSFullscreenChange', - 'MSFullscreenError' + "msRequestFullscreen", + "msExitFullscreen", + "msFullscreenElement", + "msFullscreenEnabled", + "MSFullscreenChange", + "MSFullscreenError" ] ]; @@ -83,7 +83,7 @@ elem = elem || document.documentElement; // Work around Safari 5.1 bug: reports support for - // keyboard in fullscreen even though it doesn't. + // keyboard in fullscreen even though it doesn"t. // Browser sniffing, since the alternative with // setTimeout is even worse. if (/5\.1[.\d]* Safari/.test(navigator.userAgent)) { From b39113f0aefcb825b90305b98150f02d83ad89db Mon Sep 17 00:00:00 2001 From: Flo Date: Fri, 24 Mar 2017 23:10:05 +0100 Subject: [PATCH 20/57] Removed fullscreen toggle; is now own, configurable module --- index.html | 11 +--- js/screenfull.js | 150 ----------------------------------------------- 2 files changed, 1 insertion(+), 160 deletions(-) delete mode 100644 js/screenfull.js diff --git a/index.html b/index.html index e2ad7acb..85951a85 100644 --- a/index.html +++ b/index.html @@ -19,7 +19,7 @@ var version = "#VERSION#"; - +
@@ -50,14 +50,5 @@ - - - diff --git a/js/screenfull.js b/js/screenfull.js deleted file mode 100644 index f0818493..00000000 --- a/js/screenfull.js +++ /dev/null @@ -1,150 +0,0 @@ -/*! -* screenfull -* v3.0.2 - 2017-03-13 -* (c) Sindre Sorhus; MIT License -*/ -(function () { - "use strict"; - - var isCommonjs = typeof module !== "undefined" && module.exports; - var keyboardAllowed = typeof Element !== "undefined" && "ALLOW_KEYBOARD_INPUT" in Element; - - var fn = (function () { - var val; - - var fnMap = [ - [ - "requestFullscreen", - "exitFullscreen", - "fullscreenElement", - "fullscreenEnabled", - "fullscreenchange", - "fullscreenerror" - ], - // new WebKit - [ - "webkitRequestFullscreen", - "webkitExitFullscreen", - "webkitFullscreenElement", - "webkitFullscreenEnabled", - "webkitfullscreenchange", - "webkitfullscreenerror" - - ], - // old WebKit (Safari 5.1) - [ - "webkitRequestFullScreen", - "webkitCancelFullScreen", - "webkitCurrentFullScreenElement", - "webkitCancelFullScreen", - "webkitfullscreenchange", - "webkitfullscreenerror" - - ], - [ - "mozRequestFullScreen", - "mozCancelFullScreen", - "mozFullScreenElement", - "mozFullScreenEnabled", - "mozfullscreenchange", - "mozfullscreenerror" - ], - [ - "msRequestFullscreen", - "msExitFullscreen", - "msFullscreenElement", - "msFullscreenEnabled", - "MSFullscreenChange", - "MSFullscreenError" - ] - ]; - - var i = 0; - var l = fnMap.length; - var ret = {}; - - for (; i < l; i++) { - val = fnMap[i]; - if (val && val[1] in document) { - for (i = 0; i < val.length; i++) { - ret[fnMap[0][i]] = val[i]; - } - return ret; - } - } - - return false; - })(); - - var screenfull = { - request: function (elem) { - var request = fn.requestFullscreen; - - elem = elem || document.documentElement; - - // Work around Safari 5.1 bug: reports support for - // keyboard in fullscreen even though it doesn"t. - // Browser sniffing, since the alternative with - // setTimeout is even worse. - if (/5\.1[.\d]* Safari/.test(navigator.userAgent)) { - elem[request](); - } else { - elem[request](keyboardAllowed && Element.ALLOW_KEYBOARD_INPUT); - } - }, - exit: function () { - document[fn.exitFullscreen](); - }, - toggle: function (elem) { - if (this.isFullscreen) { - this.exit(); - } else { - this.request(elem); - } - }, - onchange: function (callback) { - document.addEventListener(fn.fullscreenchange, callback, false); - }, - onerror: function (callback) { - document.addEventListener(fn.fullscreenerror, callback, false); - }, - raw: fn - }; - - if (!fn) { - if (isCommonjs) { - module.exports = false; - } else { - window.screenfull = false; - } - - return; - } - - Object.defineProperties(screenfull, { - isFullscreen: { - get: function () { - return Boolean(document[fn.fullscreenElement]); - } - }, - element: { - enumerable: true, - get: function () { - return document[fn.fullscreenElement]; - } - }, - enabled: { - enumerable: true, - get: function () { - // Coerce to boolean in case of old WebKit - return Boolean(document[fn.fullscreenEnabled]); - } - } - }); - - if (isCommonjs) { - module.exports = screenfull; - } else { - window.screenfull = screenfull; - } -})(); From 455819566b78dc6cf7c4d1947a62dfb1c9b74f9f Mon Sep 17 00:00:00 2001 From: Flo Date: Fri, 24 Mar 2017 23:13:08 +0100 Subject: [PATCH 21/57] Update CHANGELOG.md --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f7d7974..53b534f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -56,7 +56,6 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Added configurable dateFormat to clock module. - Added multiple calendar icon support. - Added meta tags to support fullscreen mode on iOS (for server mode) -- Added fullscreen toggle: within browser, clicking on the page turns it into fullscreen ### Fixed - Update .gitignore to not ignore default modules folder. From fd2b070a6a155db6e6dd9208696c295f53d86eb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Sat, 25 Mar 2017 00:26:47 -0300 Subject: [PATCH 22/57] Change website in package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7a1e7641..0d4ad2b7 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "bugs": { "url": "https://github.com/MichMich/MagicMirror/issues" }, - "homepage": "https://github.com/MichMich/MagicMirror#readme", + "homepage": "https://magicmirror.builders", "devDependencies": { "chai": "^3.5.0", "chai-as-promised": "^6.0.0", From 9ad22d7405d2b6635456ada82c424f37245f3b70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Sun, 26 Mar 2017 16:13:54 -0300 Subject: [PATCH 23/57] Add link more information timezone information for configuracion in clock module. --- modules/default/clock/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/default/clock/README.md b/modules/default/clock/README.md index f518a2b2..cf7c5de8 100644 --- a/modules/default/clock/README.md +++ b/modules/default/clock/README.md @@ -37,4 +37,4 @@ The following properties can be configured: | `secondsColor` | **Specific to the analog clock.** Specifies what color to make the 'seconds' hand.

**Possible values:** `any HTML RGB Color`
**Default value:** `#888888` | `analogPlacement` | **Specific to the analog clock. _(requires displayType set to `'both'`)_** Specifies where the analog clock is in relation to the digital clock

**Possible values:** `top`, `right`, `bottom`, or `left`
**Default value:** `bottom` | `analogShowDate` | **Specific to the analog clock.** If the clock is used as a separate module and set to analog only, this configures whether a date is also displayed with the clock.

**Possible values:** `false`, `top`, or `bottom`
**Default value:** `top` -| `timezone` | Specific a timezone to show clock.

**Possible examples values:** `America/New_York`, `America/Santiago`, `Etc/GMT+10`
**Default value:** `none` +| `timezone` | Specific a timezone to show clock.

**Possible examples values:** `America/New_York`, `America/Santiago`, `Etc/GMT+10`
**Default value:** `none`. See more informations about configuration value [here](https://momentjs.com/timezone/docs/#/data-formats/packed-format/) From 29f68d218dc00775349738fb8ecf3da54d7573e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Sun, 26 Mar 2017 18:06:34 -0300 Subject: [PATCH 24/57] Fix spelling mistake --- installers/raspberry.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installers/raspberry.sh b/installers/raspberry.sh index 2df89a5f..a76c1a9e 100644 --- a/installers/raspberry.sh +++ b/installers/raspberry.sh @@ -65,7 +65,7 @@ if command_exists node; then fi else - echo -e "\e[92mNo Node.js upgrade nessecery.\e[0m" + echo -e "\e[92mNo Node.js upgrade necessary.\e[0m" fi else From 4b4c3ddb2f973d587345a4e146f502af17e6571a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Mon, 27 Mar 2017 02:01:42 -0300 Subject: [PATCH 25/57] Add changelog test MM_PORT --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a6efc82c..6ee76be7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -57,6 +57,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Added multiple calendar icon support. - Added meta tags to support fullscreen mode on iOS (for server mode) - Added `ignoreOldItems` and `ignoreOlderThan` options to the News Feed module +- Added test for MM_PORT enviroment variable. ### Fixed - Update .gitignore to not ignore default modules folder. From f4509e24c66b16107694fd022717cc34743905c0 Mon Sep 17 00:00:00 2001 From: Johan Hammar Date: Tue, 28 Mar 2017 22:02:30 +0200 Subject: [PATCH 26/57] Added a week section to the clock module --- modules/default/clock/README.md | 1 + modules/default/clock/clock.js | 18 ++++++++++- tests/configs/modules/clock/clock_showWeek.js | 32 +++++++++++++++++++ tests/e2e/modules/clock_spec.js | 21 ++++++++++++ translations/en.json | 2 ++ translations/sv.json | 2 ++ 6 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 tests/configs/modules/clock/clock_showWeek.js diff --git a/modules/default/clock/README.md b/modules/default/clock/README.md index f518a2b2..5c803316 100644 --- a/modules/default/clock/README.md +++ b/modules/default/clock/README.md @@ -30,6 +30,7 @@ The following properties can be configured: | `showPeriodUpper` | Show the period (AM/PM) with 12 hour format as uppercase.

**Possible values:** `true` or `false`
**Default value:** `false` | `clockBold` | Remove the colon and bold the minutes to make a more modern look.

**Possible values:** `true` or `false`
**Default value:** `false` | `showDate` | Turn off or on the Date section.

**Possible values:** `true` or `false`
**Default value:** `true` +| `showWeek` | Turn off or on the Week section.

**Possible values:** `true` or `false`
**Default value:** `false` | `dateFormat` | Configure the date format as you like.

**Possible values:** [Docs](http://momentjs.com/docs/#/displaying/format/)
**Default value:** `"dddd, LL"` | `displayType` | Display a digital clock, analog clock, or both together.

**Possible values:** `digital`, `analog`, or `both`
**Default value:** `digital` | `analogSize` | **Specific to the analog clock.** Defines how large the analog display is.

**Possible values:** A positive number of pixels`
**Default value:** `200px` diff --git a/modules/default/clock/clock.js b/modules/default/clock/clock.js index 21e665e7..761f3948 100644 --- a/modules/default/clock/clock.js +++ b/modules/default/clock/clock.js @@ -16,6 +16,7 @@ Module.register("clock",{ showPeriodUpper: false, clockBold: false, showDate: true, + showWeek: false, dateFormat: "dddd, LL", /* specific to the analog clock */ @@ -61,10 +62,12 @@ Module.register("clock",{ var timeWrapper = document.createElement("div"); var secondsWrapper = document.createElement("sup"); var periodWrapper = document.createElement("span"); + var weekWrapper = document.createElement("div") // Style Wrappers dateWrapper.className = "date normal medium"; timeWrapper.className = "time bright large light"; secondsWrapper.className = "dimmed"; + weekWrapper.className = "week dimmed medium" // Set content of wrappers. // The moment().format("h") method has a bug on the Raspberry Pi. @@ -90,6 +93,9 @@ Module.register("clock",{ if(this.config.showDate){ dateWrapper.innerHTML = now.format(this.config.dateFormat); } + if (this.config.showWeek) { + weekWrapper.innerHTML = this.translate("WEEK") + " " + now.week(); + } timeWrapper.innerHTML = timeString; secondsWrapper.innerHTML = now.format("ss"); if (this.config.showPeriodUpper) { @@ -172,16 +178,25 @@ Module.register("clock",{ // Display only a digital clock wrapper.appendChild(dateWrapper); wrapper.appendChild(timeWrapper); + wrapper.appendChild(weekWrapper); } else if (this.config.displayType === "analog") { // Display only an analog clock dateWrapper.style.textAlign = "center"; - dateWrapper.style.paddingBottom = "15px"; + + if (this.config.showWeek) { + weekWrapper.style.paddingBottom = "15px"; + } else { + dateWrapper.style.paddingBottom = "15px"; + } + if (this.config.analogShowDate === "top") { wrapper.appendChild(dateWrapper); + wrapper.appendChild(weekWrapper); wrapper.appendChild(clockCircle); } else if (this.config.analogShowDate === "bottom") { wrapper.appendChild(clockCircle); wrapper.appendChild(dateWrapper); + wrapper.appendChild(weekWrapper); } else { wrapper.appendChild(clockCircle); } @@ -198,6 +213,7 @@ Module.register("clock",{ digitalWrapper.style.cssFloat = "none"; digitalWrapper.appendChild(dateWrapper); digitalWrapper.appendChild(timeWrapper); + digitalWrapper.appendChild(weekWrapper); var appendClocks = function(condition, pos1, pos2) { var padding = [0,0,0,0]; diff --git a/tests/configs/modules/clock/clock_showWeek.js b/tests/configs/modules/clock/clock_showWeek.js new file mode 100644 index 00000000..8a5f305a --- /dev/null +++ b/tests/configs/modules/clock/clock_showWeek.js @@ -0,0 +1,32 @@ +/* Magic Mirror Test config for default clock module + * + * By Johan Hammar + * MIT Licensed. + */ + +var config = { + port: 8080, + ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], + + language: "en", + timeFormat: 12, + units: "metric", + electronOptions: { + webPreferences: { + nodeIntegration: true, + }, + }, + + modules: [ + { + module: "clock", + position: "middle_center", + config: { + showWeek: true + } + } + ] +}; + +/*************** DO NOT EDIT THE LINE BELOW ***************/ +if (typeof module !== "undefined") {module.exports = config;} diff --git a/tests/e2e/modules/clock_spec.js b/tests/e2e/modules/clock_spec.js index 8c6d9ff6..a24b38d6 100644 --- a/tests/e2e/modules/clock_spec.js +++ b/tests/e2e/modules/clock_spec.js @@ -100,4 +100,25 @@ describe("Clock module", function () { }); }); + describe("with showWeek config enabled", function() { + before(function() { + // Set config sample for use in test + process.env.MM_CONFIG_FILE = "tests/configs/modules/clock/clock_showWeek.js"; + }); + + beforeEach(function (done) { + app.start().then(function() { done(); } ); + }); + + afterEach(function (done) { + app.stop().then(function() { done(); }); + }); + + it("shows week with correct format", function() { + const weekRegex = /^Week [0-9]{1,2}$/; + return app.client.waitUntilWindowLoaded() + .getText(".clock .week").should.eventually.match(weekRegex); + }); + }); + }); diff --git a/translations/en.json b/translations/en.json index 46061738..a1472cf1 100644 --- a/translations/en.json +++ b/translations/en.json @@ -7,6 +7,8 @@ "RUNNING": "Ends in", "EMPTY": "No upcoming events.", + "WEEK": "Week", + "N": "N", "NNE": "NNE", "NE": "NE", diff --git a/translations/sv.json b/translations/sv.json index 1fe3d48d..8025e51e 100644 --- a/translations/sv.json +++ b/translations/sv.json @@ -7,6 +7,8 @@ "RUNNING": "Slutar", "EMPTY": "Inga kommande händelser.", + "WEEK": "Vecka", + "N": "N", "NNE": "NNO", "NE": "NO", From 44f50eba5bbd0645becf94201b2f7c876a7897ee Mon Sep 17 00:00:00 2001 From: Johan Hammar Date: Tue, 28 Mar 2017 22:30:48 +0200 Subject: [PATCH 27/57] Updated changelog with information about the new week section of the clock module --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index eb328821..0801c54e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -57,6 +57,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Added multiple calendar icon support. - Added meta tags to support fullscreen mode on iOS (for server mode) - Added `ignoreOldItems` and `ignoreOlderThan` options to the News Feed module +- Added a configurable Week section to the clock module. ### Fixed - Update .gitignore to not ignore default modules folder. From cc9a4296896748fd3b7a95c8d65859ba1941ec8c Mon Sep 17 00:00:00 2001 From: Johan Hammar Date: Tue, 28 Mar 2017 22:44:47 +0200 Subject: [PATCH 28/57] Corrected minor typo --- js/server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/server.js b/js/server.js index beb8b84c..c57b74f9 100644 --- a/js/server.js +++ b/js/server.js @@ -15,7 +15,7 @@ var fs = require("fs"); var helmet = require("helmet"); var Server = function(config, callback) { - console.log("Starting server op port " + config.port + " ... "); + console.log("Starting server on port " + config.port + " ... "); server.listen(config.port, config.address ? config.address : null); From 84046170901f81810d3fbc05fe4d4ffd1267e8f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Tue, 28 Mar 2017 17:57:34 -0300 Subject: [PATCH 29/57] Add translations es for Week --- translations/es.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/translations/es.json b/translations/es.json index 914a72ce..adee4dfc 100644 --- a/translations/es.json +++ b/translations/es.json @@ -7,6 +7,8 @@ "RUNNING": "Termina en", "EMPTY": "No hay eventos programados.", + "WEEK": "Semana", + "N": "N", "NNE": "NNE", "NE": "NE", From 945cbdd3a754fc8a233e645ecd8310f994e1e6d8 Mon Sep 17 00:00:00 2001 From: Yuri Date: Thu, 30 Mar 2017 14:47:16 +0800 Subject: [PATCH 30/57] Update zh_cn.json Add Chinese support updated. --- translations/zh_cn.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/translations/zh_cn.json b/translations/zh_cn.json index e7f69616..18fe4534 100644 --- a/translations/zh_cn.json +++ b/translations/zh_cn.json @@ -3,6 +3,7 @@ "TODAY": "今天", "TOMORROW": "明天", + "DAYAFTERTOMORROW": "后天", "RUNNING": "结束日期", "EMPTY": "没有更多的活动。", @@ -22,4 +23,8 @@ "WNW": "西偏北风", "NW": "西北风", "NNW": "北偏西风" + + "UPDATE_NOTIFICATION": "MagicMirror² 有新的更新", + "UPDATE_NOTIFICATION_MODULE": "模块 MODULE_NAME 可更新", + "UPDATE_INFO": "当前已安装版本为 COMMIT_COUNT 落后于分支 BRANCH_NAME " } From 9e5a4189d70a9ddab3a0b2d8fb72c414bf4b7c51 Mon Sep 17 00:00:00 2001 From: Yuri Date: Thu, 30 Mar 2017 14:48:21 +0800 Subject: [PATCH 31/57] Update zh_cn.json --- translations/zh_cn.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translations/zh_cn.json b/translations/zh_cn.json index 18fe4534..5efbb691 100644 --- a/translations/zh_cn.json +++ b/translations/zh_cn.json @@ -22,7 +22,7 @@ "W": "西风", "WNW": "西偏北风", "NW": "西北风", - "NNW": "北偏西风" + "NNW": "北偏西风", "UPDATE_NOTIFICATION": "MagicMirror² 有新的更新", "UPDATE_NOTIFICATION_MODULE": "模块 MODULE_NAME 可更新", From 73458078717a8b01ab05547d850bbed4af05328c Mon Sep 17 00:00:00 2001 From: Johan Hammar Date: Thu, 30 Mar 2017 21:15:51 +0200 Subject: [PATCH 32/57] Updated documentation and fixed typos for the newsfeed module. Fixes GH-804 --- modules/default/newsfeed/newsfeed.js | 13 ++++++------- modules/default/newsfeed/node_helper.js | 11 +++++------ 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/modules/default/newsfeed/newsfeed.js b/modules/default/newsfeed/newsfeed.js index b7ec2f58..b230fdb1 100644 --- a/modules/default/newsfeed/newsfeed.js +++ b/modules/default/newsfeed/newsfeed.js @@ -44,9 +44,9 @@ Module.register("newsfeed",{ // Define required translations. getTranslations: function() { - // The translations for the defaut modules are defined in the core translation files. - // Therefor we can just return false. Otherwise we should have returned a dictionairy. - // If you're trying to build yiur own module including translations, check out the documentation. + // The translations for the default modules are defined in the core translation files. + // Therefor we can just return false. Otherwise we should have returned a dictionary. + // If you're trying to build your own module including translations, check out the documentation. return false; }, @@ -204,7 +204,6 @@ Module.register("newsfeed",{ /* registerFeeds() * registers the feeds to be used by the backend. */ - registerFeeds: function() { for (var f in this.config.feeds) { var feed = this.config.feeds[f]; @@ -215,10 +214,10 @@ Module.register("newsfeed",{ } }, - /* registerFeeds() + /* generateFeed() * Generate an ordered list of items for this configured module. * - * attribute feeds object - An object with feeds returned by the nod helper. + * attribute feeds object - An object with feeds returned by the node helper. */ generateFeed: function(feeds) { var newsItems = []; @@ -262,7 +261,7 @@ Module.register("newsfeed",{ return false; }, - /* subscribedToFeed(feedUrl) + /* titleForFeed(feedUrl) * Returns title for a specific feed Url. * * attribute feedUrl string - Url of the feed to check. diff --git a/modules/default/newsfeed/node_helper.js b/modules/default/newsfeed/node_helper.js index e5243304..af1d32b8 100644 --- a/modules/default/newsfeed/node_helper.js +++ b/modules/default/newsfeed/node_helper.js @@ -24,14 +24,13 @@ module.exports = NodeHelper.create({ } }, - /* createFetcher(url, reloadInterval) - * Creates a fetcher for a new url if it doesn't exist yet. - * Otherwise it reoses the existing one. + /* createFetcher(feed, config) + * Creates a fetcher for a new feed if it doesn't exist yet. + * Otherwise it reuses the existing one. * - * attribute url string - URL of the news feed. - * attribute reloadInterval number - Reload interval in milliseconds. + * attribute feed object - A feed object. + * attribute config object - A configuration object containing reload interval in milliseconds. */ - createFetcher: function(feed, config) { var self = this; From ef9157174c0d38e280c85349298291c3da04af58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Thu, 30 Mar 2017 16:32:51 -0300 Subject: [PATCH 33/57] Fix broken next test: Now after ran the test MM_PORT of test case for change of port the enviroment variable is deleted. --- tests/e2e/port_config.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/e2e/port_config.js b/tests/e2e/port_config.js index e44a2207..44c6b498 100644 --- a/tests/e2e/port_config.js +++ b/tests/e2e/port_config.js @@ -36,6 +36,10 @@ describe("port directive configuration", function () { // Set config sample for use in this test process.env.MM_CONFIG_FILE = "tests/configs/port_8090.js"; }); + + after(function(){ + delete process.env.MM_PORT; + }); it("should return 200", function (done) { request.get("http://localhost:8100", function (err, res, body) { expect(res.statusCode).to.equal(200); From 47c356692f4941fad62952a3b4f5d90658883e55 Mon Sep 17 00:00:00 2001 From: Johan Hammar Date: Thu, 30 Mar 2017 22:14:11 +0200 Subject: [PATCH 34/57] Fix a few more typos --- modules/default/calendar/calendar.js | 8 ++++---- modules/default/currentweather/currentweather.js | 4 ++-- modules/default/weatherforecast/weatherforecast.js | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/modules/default/calendar/calendar.js b/modules/default/calendar/calendar.js index d2e64cc7..12ce290f 100644 --- a/modules/default/calendar/calendar.js +++ b/modules/default/calendar/calendar.js @@ -54,8 +54,8 @@ Module.register("calendar", { // Define required translations. getTranslations: function () { - // The translations for the defaut modules are defined in the core translation files. - // Therefor we can just return false. Otherwise we should have returned a dictionairy. + // The translations for the default modules are defined in the core translation files. + // Therefor we can just return false. Otherwise we should have returned a dictionary. // If you're trying to build your own module including translations, check out the documentation. return false; }, @@ -409,11 +409,11 @@ Module.register("calendar", { }, /* shorten(string, maxLength) - * Shortens a string if it's longer than maxLenthg. + * Shortens a string if it's longer than maxLength. * Adds an ellipsis to the end. * * argument string string - The string to shorten. - * argument maxLength number - The max lenth of the string. + * argument maxLength number - The max length of the string. * * return string - The shortened string. */ diff --git a/modules/default/currentweather/currentweather.js b/modules/default/currentweather/currentweather.js index 1b55e255..6e23cdcf 100644 --- a/modules/default/currentweather/currentweather.js +++ b/modules/default/currentweather/currentweather.js @@ -79,8 +79,8 @@ Module.register("currentweather",{ // Define required translations. getTranslations: function() { - // The translations for the defaut modules are defined in the core translation files. - // Therefor we can just return false. Otherwise we should have returned a dictionairy. + // The translations for the default modules are defined in the core translation files. + // Therefor we can just return false. Otherwise we should have returned a dictionary. // If you're trying to build yiur own module including translations, check out the documentation. return false; }, diff --git a/modules/default/weatherforecast/weatherforecast.js b/modules/default/weatherforecast/weatherforecast.js index b269a44a..b8321b17 100644 --- a/modules/default/weatherforecast/weatherforecast.js +++ b/modules/default/weatherforecast/weatherforecast.js @@ -77,8 +77,8 @@ Module.register("weatherforecast",{ // Define required translations. getTranslations: function() { - // The translations for the defaut modules are defined in the core translation files. - // Therefor we can just return false. Otherwise we should have returned a dictionairy. + // The translations for the default modules are defined in the core translation files. + // Therefor we can just return false. Otherwise we should have returned a dictionary. // If you're trying to build yiur own module including translations, check out the documentation. return false; }, From 597a7f7b407b42c766a9f401348d4a651a5d71be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Sat, 1 Apr 2017 15:45:39 -0300 Subject: [PATCH 35/57] Bugfix introduced into bb08fe8113e37a6a44dc3ab4ca64fcf8a3ec200e This is work on Pull Request #803 and help of @johanhammar and @fewieden --- vendor/vendor.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/vendor.js b/vendor/vendor.js index 7076cc45..953921d3 100644 --- a/vendor/vendor.js +++ b/vendor/vendor.js @@ -9,7 +9,7 @@ var vendor = { "moment.js" : "node_modules/moment/min/moment-with-locales.js", - "moment-timezone.js" : "node_modules/moment-timezone/moment-timezone.js", + "moment-timezone.js" : "node_modules/moment-timezone/builds/moment-timezone-with-data.js", "weather-icons.css": "node_modules/weathericons/css/weather-icons.css", "weather-icons-wind.css": "node_modules/weathericons/css/weather-icons-wind.css", "font-awesome.css": "node_modules/font-awesome/css/font-awesome.min.css" From 5436050df1095c9f8b790f5abf816fb549252968 Mon Sep 17 00:00:00 2001 From: Michael Teeuw Date: Sat, 1 Apr 2017 21:49:52 +0200 Subject: [PATCH 36/57] Prepare for release. --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f81b4a6..ccf6eba1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). -## [2.1.1] - Unreleased +## [2.1.1] - 2017-04-01 **Note:** This update uses new dependencies. Please update using the following command: `git pull && npm install` From 5a6f5133af50b285ab5ccdfa434f62ad775a157e Mon Sep 17 00:00:00 2001 From: Michael Teeuw Date: Sat, 1 Apr 2017 22:05:21 +0200 Subject: [PATCH 37/57] Prepare setup for 2.1.2 --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ccf6eba1..f55c6ed6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [2.1.2] - Unreleased + +### Changed + +### Added + +### Updated ## [2.1.1] - 2017-04-01 diff --git a/package.json b/package.json index a190f12d..3f1bde8d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "magicmirror", - "version": "2.1.1", + "version": "2.1.2-dev", "description": "The open source modular smart mirror platform.", "main": "js/electron.js", "scripts": { From 5ccf053cba9adbc24a93fd76e95c99a460a037d0 Mon Sep 17 00:00:00 2001 From: Doug Kline Date: Sat, 1 Apr 2017 17:23:24 -0400 Subject: [PATCH 38/57] TL;RL cheat notes for IPv4 ipWhitelist Hopefully save a google or support request -- while still using IPv4 addresses on MagicMirror network, need to set full address by using ::ffff: as prefix to IP in config. e.g. ::ffff:192.168.5.1 and not 192.168.5.1 --- config/config.js.sample | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/config/config.js.sample b/config/config.js.sample index 53677cfa..e07c2c75 100644 --- a/config/config.js.sample +++ b/config/config.js.sample @@ -6,7 +6,12 @@ var config = { port: 8080, - ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], // Set [] to allow all IP addresses. + ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], // Set [] to allow all IP addresses + // or add a specific IPv4 of 192.168.1.5 : + // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.5"], + // or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format : + // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.3.0/28"], + language: "en", timeFormat: 24, From 4a70e3cd319143c15efccea6bf40a83a8b1d5969 Mon Sep 17 00:00:00 2001 From: Doug Kline Date: Sat, 1 Apr 2017 18:54:28 -0400 Subject: [PATCH 39/57] Update config.js.sample --- config/config.js.sample | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/config/config.js.sample b/config/config.js.sample index e07c2c75..9b8787bb 100644 --- a/config/config.js.sample +++ b/config/config.js.sample @@ -6,12 +6,11 @@ var config = { port: 8080, - ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], // Set [] to allow all IP addresses + ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], // Set [] to allow all IP addresses // or add a specific IPv4 of 192.168.1.5 : // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.5"], // or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format : // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.3.0/28"], - language: "en", timeFormat: 24, From 63ae2b8095aa7505407f7399a2b01c4073cc98a2 Mon Sep 17 00:00:00 2001 From: Andrew McOlash Date: Sun, 2 Apr 2017 15:06:58 -0500 Subject: [PATCH 40/57] Add in ability to wrap calendar events to multiple lines --- CHANGELOG.md | 1 + modules/default/calendar/README.md | 1 + modules/default/calendar/calendar.css | 1 + modules/default/calendar/calendar.js | 38 ++++++++++++++++++++++----- 4 files changed, 34 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f55c6ed6..a3e23c6d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Changed ### Added +- Add in option to wrap long calendar events to multiple lines using `wrapEvents` configuration option ### Updated diff --git a/modules/default/calendar/README.md b/modules/default/calendar/README.md index 470560ba..003c13e1 100644 --- a/modules/default/calendar/README.md +++ b/modules/default/calendar/README.md @@ -31,6 +31,7 @@ The following properties can be configured: | `displaySymbol` | Display a symbol in front of an entry.

**Possible values:** `true` or `false`
**Default value:** `true` | `defaultSymbol` | The default symbol.

**Possible values:** See [Font Awsome](http://fontawesome.io/icons/) website.
**Default value:** `calendar` | `maxTitleLength` | The maximum title length.

**Possible values:** `10` - `50`
**Default value:** `25` +| `wrapEvents` | Wrap event titles to multiple lines. Breaks lines at the length defined by `maxTitleLength`.

**Possible values:** `true` or `false`
**Default value:** `false` | `fetchInterval` | How often does the content needs to be fetched? (Milliseconds)

**Possible values:** `1000` - `86400000`
**Default value:** `300000` (5 minutes) | `animationSpeed` | Speed of the update animation. (Milliseconds)

**Possible values:**`0` - `5000`
**Default value:** `2000` (2 seconds) | `fade` | Fade the future events to black. (Gradient)

**Possible values:** `true` or `false`
**Default value:** `true` diff --git a/modules/default/calendar/calendar.css b/modules/default/calendar/calendar.css index 26b1e93d..123ab084 100644 --- a/modules/default/calendar/calendar.css +++ b/modules/default/calendar/calendar.css @@ -2,6 +2,7 @@ padding-left: 0; padding-right: 10px; font-size: 80%; + vertical-align: top; } .calendar .symbol span { diff --git a/modules/default/calendar/calendar.js b/modules/default/calendar/calendar.js index 12ce290f..fa77c94a 100644 --- a/modules/default/calendar/calendar.js +++ b/modules/default/calendar/calendar.js @@ -18,6 +18,7 @@ Module.register("calendar", { displayRepeatingCountTitle: false, defaultRepeatingCountTitle: "", maxTitleLength: 25, + wrapEvents: false, // wrap events to multiple lines breaking at maxTitleLength fetchInterval: 5 * 60 * 1000, // Update every 5 minutes. animationSpeed: 2000, fade: true, @@ -414,15 +415,38 @@ Module.register("calendar", { * * argument string string - The string to shorten. * argument maxLength number - The max length of the string. + * argument wrapEvents - Wrap the text after the line has reached maxLength * * return string - The shortened string. */ - shorten: function (string, maxLength) { - if (string.length > maxLength) { - return string.slice(0, maxLength) + "…"; - } + shorten: function (string, maxLength, wrapEvents) { + if (wrapEvents) { + var temp = ""; + var currentLine = ""; + var words = string.split(" "); - return string; + for (var i = 0; i < words.length; i++) { + var word = words[i]; + if (currentLine.length + word.length < 25 - 1) { // max - 1 to account for a space + currentLine += (word + " "); + } else { + if (currentLine.length > 0) { + temp += (currentLine + "
" + word + " "); + } else { + temp += (word + "
"); + } + currentLine = ""; + } + } + + return temp + currentLine; + } else { + if (string.length > maxLength) { + return string.slice(0, maxLength) + "…"; + } else { + return string; + } + } }, /* capFirst(string) @@ -437,7 +461,7 @@ Module.register("calendar", { /* titleTransform(title) * Transforms the title of an event for usage. * Replaces parts of the text as defined in config.titleReplace. - * Shortens title based on config.maxTitleLength + * Shortens title based on config.maxTitleLength and config.wrapEvents * * argument title string - The title to transform. * @@ -456,7 +480,7 @@ Module.register("calendar", { title = title.replace(needle, replacement); } - title = this.shorten(title, this.config.maxTitleLength); + title = this.shorten(title, this.config.maxTitleLength, this.config.wrapEvents); return title; }, From 154e33a2c3652c1f0538d13b4893eacb06305771 Mon Sep 17 00:00:00 2001 From: Andrew McOlash Date: Sun, 2 Apr 2017 15:10:00 -0500 Subject: [PATCH 41/57] Make times align to the top of the cell --- modules/default/calendar/calendar.css | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/default/calendar/calendar.css b/modules/default/calendar/calendar.css index 123ab084..6bc5762d 100644 --- a/modules/default/calendar/calendar.css +++ b/modules/default/calendar/calendar.css @@ -20,4 +20,5 @@ .calendar .time { padding-left: 30px; text-align: right; + vertical-align: top; } From 64f2a6757345c23e277b58d365161fd3ea7da089 Mon Sep 17 00:00:00 2001 From: Greg Dev Date: Sun, 2 Apr 2017 22:29:54 +0200 Subject: [PATCH 42/57] Add Polish translation for week and day after tomorrow --- translations/pl.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/translations/pl.json b/translations/pl.json index 0c79835f..1d30e395 100644 --- a/translations/pl.json +++ b/translations/pl.json @@ -3,9 +3,12 @@ "TODAY": "Dziś", "TOMORROW": "Jutro", + "DAYAFTERTOMORROW": "Pojutrze", "RUNNING": "Koniec za", "EMPTY": "Brak wydarzeń.", + "WEEK": "Tydzień", + "N": "N", "NNE": "NNE", "NE": "NE", From fb90574d44a0ea86f678b637614b161282f52e10 Mon Sep 17 00:00:00 2001 From: Michael Teeuw Date: Sun, 2 Apr 2017 23:10:32 +0200 Subject: [PATCH 43/57] Update CHANGELOG.md --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a3e23c6d..49c5543c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,9 +7,10 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Changed ### Added -- Add in option to wrap long calendar events to multiple lines using `wrapEvents` configuration option +- Add in option to wrap long calendar events to multiple lines using `wrapEvents` configuration option. ### Updated +- Added missing keys to Polish translation. ## [2.1.1] - 2017-04-01 From 3e1eb035178ca21c7acad4ad970b1aedc9d49ec4 Mon Sep 17 00:00:00 2001 From: fewieden Date: Mon, 3 Apr 2017 10:06:57 +0200 Subject: [PATCH 44/57] added german translation key --- CHANGELOG.md | 1 + translations/de.json | 2 ++ 2 files changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 49c5543c..8d883b16 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Updated - Added missing keys to Polish translation. +- Added missing key to German translation. ## [2.1.1] - 2017-04-01 diff --git a/translations/de.json b/translations/de.json index eb67d41a..2723bf86 100644 --- a/translations/de.json +++ b/translations/de.json @@ -7,6 +7,8 @@ "RUNNING": "noch", "EMPTY": "Keine Termine.", + "WEEK": "Woche", + "N": "N", "NNE": "NNO", "NE": "NO", From a74efd285c92b0657a4b46c80ea6fd6eb5d0e596 Mon Sep 17 00:00:00 2001 From: fewieden Date: Mon, 3 Apr 2017 10:37:23 +0200 Subject: [PATCH 45/57] fix typo + eslint --- Gruntfile.js | 30 ++++++++++++++++------- modules/node_modules/node_helper/index.js | 11 +++++---- 2 files changed, 27 insertions(+), 14 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 06fed2d5..4951f5c7 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -6,12 +6,12 @@ module.exports = function(grunt) { options: { configFile: ".eslintrc.json" }, - target: ["js/*.js", "modules/default/*.js", "modules/default/*/*.js", + target: [ + "js/*.js", "modules/default/*.js", "modules/default/*/*.js", "serveronly/*.js", "*.js", "tests/*/*.js", "!modules/default/alert/notificationFx.js", "!modules/default/alert/modernizr.custom.js", "!modules/default/alert/classie.js", - "config/*", - "translations/translations.js", "vendor/vendor.js" - + "config/*", "translations/translations.js", "vendor/vendor.js", + "modules/node_modules/node_helper/index.js" ] }, stylelint: { @@ -19,14 +19,21 @@ module.exports = function(grunt) { options: { configFile: ".stylelintrc" }, - src: ["css/main.css", "modules/default/calendar/calendar.css", "modules/default/clock/clock_styles.css", "modules/default/currentweather/currentweather.css", "modules/default/weatherforcast/weatherforcast.css"] + src: [ + "css/main.css", "modules/default/calendar/calendar.css", + "modules/default/clock/clock_styles.css", + "modules/default/currentweather/currentweather.css", + "modules/default/weatherforcast/weatherforcast.css" + ] } }, jsonlint: { main: { - src: ["package.json", ".eslintrc.json", ".stylelintrc", "translations/*.json", + src: [ + "package.json", ".eslintrc.json", ".stylelintrc", "translations/*.json", "modules/default/*/translations/*.json", "installers/pm2_MagicMirror.json", - "vendor/package.js"], + "vendor/package.js" + ], options: { reporter: "jshint" } @@ -58,11 +65,16 @@ module.exports = function(grunt) { "MD038": false } }, - src: ["README.md", "CHANGELOG.md", "LICENSE.md", "modules/README.md", "modules/default/**/*.md", "!modules/default/calendar/vendor/ical.js/readme.md"] + src: [ + "README.md", "CHANGELOG.md", "LICENSE.md", "modules/README.md", + "modules/default/**/*.md", "!modules/default/calendar/vendor/ical.js/readme.md" + ] } }, yamllint: { - all: [".travis.yml"] + all: [ + ".travis.yml" + ] } }); grunt.loadNpmTasks("grunt-eslint"); diff --git a/modules/node_modules/node_helper/index.js b/modules/node_modules/node_helper/index.js index 8d0372bd..37c3e2cb 100644 --- a/modules/node_modules/node_helper/index.js +++ b/modules/node_modules/node_helper/index.js @@ -20,7 +20,7 @@ NodeHelper = Class.extend({ }, start: function() { - console.log("Staring module helper: " + this.name); + console.log("Starting module helper: " + this.name); }, /* socketNotificationReceived(notification, payload) @@ -45,7 +45,7 @@ NodeHelper = Class.extend({ /* setPath(path) * Set the module path. * - * argument name string - Module name. + * argument path string - Module path. */ setPath: function(path) { this.path = path; @@ -98,9 +98,10 @@ NodeHelper = Class.extend({ // register catch all. socket.on("*", function(notification, payload) { - if (notification !== "*") - //console.log('received message in namespace: ' + namespace); - self.socketNotificationReceived(notification, payload); + if (notification !== "*") { + //console.log('received message in namespace: ' + namespace); + self.socketNotificationReceived(notification, payload); + } }); }); From ab28d0e09fb7cb861b30706330968a9cf589cb16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Mon, 3 Apr 2017 11:28:46 -0300 Subject: [PATCH 46/57] Add note about how configurate the file into config.js.sample --- config/config.js.sample | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/config.js.sample b/config/config.js.sample index 9b8787bb..0c0df06b 100644 --- a/config/config.js.sample +++ b/config/config.js.sample @@ -2,6 +2,10 @@ * * By Michael Teeuw http://michaelteeuw.nl * MIT Licensed. + * + * For more information how you can configurate this file + * See https://github.com/MichMich/MagicMirror#configuration + * */ var config = { From 636dbe5b95110cc2f9c86e3262915b2984fbeb1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Mon, 3 Apr 2017 11:47:22 -0300 Subject: [PATCH 47/57] Globing pattern test grunt (#1) * Fix Matching patterns tests directories Grunt task of eslint * Fix eslint errors in testsuite. * Format one line per file in src section in Gruntfile.js --- Gruntfile.js | 35 ++++++++++++++----- .../compliments/compliments_parts_day.js | 2 +- tests/configs/modules/positions.js | 4 +-- tests/unit/global_vars/root_path_spec.js | 4 +-- 4 files changed, 31 insertions(+), 14 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 4951f5c7..8d069c82 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -7,10 +7,18 @@ module.exports = function(grunt) { configFile: ".eslintrc.json" }, target: [ - "js/*.js", "modules/default/*.js", "modules/default/*/*.js", - "serveronly/*.js", "*.js", "tests/*/*.js", "!modules/default/alert/notificationFx.js", - "!modules/default/alert/modernizr.custom.js", "!modules/default/alert/classie.js", - "config/*", "translations/translations.js", "vendor/vendor.js", + "js/*.js", + "modules/default/*.js", + "modules/default/*/*.js", + "serveronly/*.js", + "*.js", + "tests/**/*.js", + "!modules/default/alert/notificationFx.js", + "!modules/default/alert/modernizr.custom.js", + "!modules/default/alert/classie.js", + "config/*", + "translations/translations.js", + "vendor/vendor.js", "modules/node_modules/node_helper/index.js" ] }, @@ -20,7 +28,8 @@ module.exports = function(grunt) { configFile: ".stylelintrc" }, src: [ - "css/main.css", "modules/default/calendar/calendar.css", + "css/main.css", + "modules/default/calendar/calendar.css", "modules/default/clock/clock_styles.css", "modules/default/currentweather/currentweather.css", "modules/default/weatherforcast/weatherforcast.css" @@ -30,8 +39,12 @@ module.exports = function(grunt) { jsonlint: { main: { src: [ - "package.json", ".eslintrc.json", ".stylelintrc", "translations/*.json", - "modules/default/*/translations/*.json", "installers/pm2_MagicMirror.json", + "package.json", + ".eslintrc.json", + ".stylelintrc", + "translations/*.json", + "modules/default/*/translations/*.json", + "installers/pm2_MagicMirror.json", "vendor/package.js" ], options: { @@ -66,8 +79,12 @@ module.exports = function(grunt) { } }, src: [ - "README.md", "CHANGELOG.md", "LICENSE.md", "modules/README.md", - "modules/default/**/*.md", "!modules/default/calendar/vendor/ical.js/readme.md" + "README.md", + "CHANGELOG.md", + "LICENSE.md", + "modules/README.md", + "modules/default/**/*.md", + "!modules/default/calendar/vendor/ical.js/readme.md" ] } }, diff --git a/tests/configs/modules/compliments/compliments_parts_day.js b/tests/configs/modules/compliments/compliments_parts_day.js index 8d47fe22..b4443567 100644 --- a/tests/configs/modules/compliments/compliments_parts_day.js +++ b/tests/configs/modules/compliments/compliments_parts_day.js @@ -1,4 +1,4 @@ -/* Magic Mirror Test config for default compliments +/* Magic Mirror Test config for default compliments * * By Rodrigo Ramírez Norambuena https://rodrigoramirez.com * MIT Licensed. diff --git a/tests/configs/modules/positions.js b/tests/configs/modules/positions.js index 7d0188c2..60e6dd04 100644 --- a/tests/configs/modules/positions.js +++ b/tests/configs/modules/positions.js @@ -24,8 +24,8 @@ var config = { // Using exotic content. This is why dont accept go to JSON configuration file (function() { var positions = ["top_bar", "top_left", "top_center", "top_right", "upper_third", - "middle_center", "lower_third", "bottom_left", "bottom_center", "bottom_right", - "bottom_bar", "fullscreen_above", "fullscreen_below"]; + "middle_center", "lower_third", "bottom_left", "bottom_center", "bottom_right", + "bottom_bar", "fullscreen_above", "fullscreen_below"]; var modules = Array(); for (idx in positions) { modules.push({ diff --git a/tests/unit/global_vars/root_path_spec.js b/tests/unit/global_vars/root_path_spec.js index 197ee6a7..ef7ce3e9 100644 --- a/tests/unit/global_vars/root_path_spec.js +++ b/tests/unit/global_vars/root_path_spec.js @@ -63,8 +63,8 @@ describe("'global.root_path' set in js/app.js", function() { }); it("should expect the global.version equals package.json file", function() { - version_package = JSON.parse(fs.readFileSync("package.json", "utf8")).version; - expect(this.sandbox.global.version).to.equal(version_package); + versionPackage = JSON.parse(fs.readFileSync("package.json", "utf8")).version; + expect(this.sandbox.global.version).to.equal(versionPackage); }); }); From c798913fd230d919c5333b021c554838f10a2be9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Mon, 3 Apr 2017 15:18:20 -0300 Subject: [PATCH 48/57] Fix extra tabs added in config.js.sample --- config/config.js.sample | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/config.js.sample b/config/config.js.sample index 9b8787bb..6d933453 100644 --- a/config/config.js.sample +++ b/config/config.js.sample @@ -8,9 +8,9 @@ var config = { port: 8080, ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"], // Set [] to allow all IP addresses // or add a specific IPv4 of 192.168.1.5 : - // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.5"], - // or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format : - // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.3.0/28"], + // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.5"], + // or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format : + // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.3.0/28"], language: "en", timeFormat: 24, From d903fe400f39717c7bbc5e23182c6f9a32ac39cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Mon, 3 Apr 2017 15:21:52 -0300 Subject: [PATCH 49/57] Add entry in Changelog for newsfeed_test_case --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d883b16..9ba0af26 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Added - Add in option to wrap long calendar events to multiple lines using `wrapEvents` configuration option. +- Add test e2e `show title newsfeed` for newsfeed module. ### Updated - Added missing keys to Polish translation. From e44893f91e1e063d3d75cff1258d22ef04aea79f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Tue, 4 Apr 2017 11:06:03 -0300 Subject: [PATCH 50/57] Fix instruction README for install by script issue close #823 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 98ca4154..48694365 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ Electron, the app wrapper around MagicMirror², only supports the Raspberry Pi 2 Execute the following command on your Raspberry Pi to install MagicMirror²: ```` -curl -sL https://raw.githubusercontent.com/MichMich/MagicMirror/master/installers/raspberry.sh | bash +bash -c "$(curl -sL https://raw.githubusercontent.com/MichMich/MagicMirror/master/installers/raspberry.sh)" ```` ### Manual Installation From 6e33e063da3c83fd9bcffc89b72595933dc61d79 Mon Sep 17 00:00:00 2001 From: Javier Sigler Date: Tue, 4 Apr 2017 18:30:24 +0200 Subject: [PATCH 51/57] Remove layers and fix npm install of vendor --- Dockerfile | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/Dockerfile b/Dockerfile index ddf6d9d6..32939f95 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,19 +1,22 @@ FROM node:latest -RUN apt-get update && apt-get -y install dos2unix - +ENV NODE_ENV production +ENV MM_PORT 8080 WORKDIR /opt/magic_mirror + COPY . . COPY /modules unmount_modules COPY /config unmount_config -ENV NODE_ENV production -ENV MM_PORT 8080 - -RUN npm install - -RUN ["dos2unix", "docker-entrypoint.sh"] -RUN ["chmod", "+x", "docker-entrypoint.sh"] +RUN apt-get update \ + && apt-get -qy install tofrodos dos2unix \ + && chmod -R 777 vendor \ + && npm install \ + && cd vendor \ + && npm install \ + && cd .. \ + && dos2unix docker-entrypoint.sh \ + && chmod +x docker-entrypoint.sh EXPOSE $MM_PORT ENTRYPOINT ["/opt/magic_mirror/docker-entrypoint.sh"] From fa64ecf5130a6121c476626b7101555c1293fc1d Mon Sep 17 00:00:00 2001 From: Javier Sigler Date: Tue, 4 Apr 2017 18:34:19 +0200 Subject: [PATCH 52/57] Remove layers and fix npm install of vendor --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d883b16..144c5af6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ## [2.1.2] - Unreleased ### Changed +- Fix the dockerfile to have it running from the first time. ### Added - Add in option to wrap long calendar events to multiple lines using `wrapEvents` configuration option. From 95278a78ff02ade1c5cc2a3003dd20dd51a10289 Mon Sep 17 00:00:00 2001 From: Greg Dev Date: Wed, 5 Apr 2017 23:39:39 +0200 Subject: [PATCH 53/57] Add Russian translation for week --- translations/ru.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/translations/ru.json b/translations/ru.json index 48c49fd9..c919af50 100644 --- a/translations/ru.json +++ b/translations/ru.json @@ -7,6 +7,8 @@ "RUNNING": "Заканчивается через", "EMPTY": "Нет предстоящих событий", + "WEEK": "Неделя", + "N": "С", "NNE": "ССВ", "NE": "СВ", From c53a20a577bf41e69ab979150758644a2092a5a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Wed, 5 Apr 2017 22:01:49 -0300 Subject: [PATCH 54/57] Add changelog entry fix instruction_installer --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d883b16..e249999e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Added missing keys to Polish translation. - Added missing key to German translation. +### Fixed +- Fix instruction in README for using automatically installer script. + ## [2.1.1] - 2017-04-01 **Note:** This update uses new dependencies. Please update using the following command: `git pull && npm install` From 033d3c92abcd148ad7a1f5ab783c57e096d24046 Mon Sep 17 00:00:00 2001 From: Michael Teeuw Date: Thu, 6 Apr 2017 16:28:48 +0200 Subject: [PATCH 55/57] Add missing dependency --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 83d4c083..f8f5d1e3 100644 --- a/package.json +++ b/package.json @@ -46,6 +46,7 @@ "time-grunt": "latest" }, "dependencies": { + "body-parser": "^1.17.1", "colors": "^1.1.2", "electron": "^1.4.7", "express": "^4.14.0", From b9749bad61f1888b696c4df8e470d29c42763e02 Mon Sep 17 00:00:00 2001 From: Javier Sigler Date: Thu, 6 Apr 2017 16:43:53 +0200 Subject: [PATCH 56/57] Do not replace configuration --- docker-entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 9d91492f..5d37b4a6 100644 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -5,7 +5,7 @@ if [ ! -f /opt/magic_mirror/modules ]; then fi if [ ! -f /opt/magic_mirror/config ]; then - cp -R /opt/magic_mirror/unmount_config/. /opt/magic_mirror/config + cp -Rn /opt/magic_mirror/unmount_config/. /opt/magic_mirror/config fi node serveronly From d68d4c2c76bad5e44f8d0dafa9ee456b582966d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Ram=C3=ADrez=20Norambuena?= Date: Fri, 7 Apr 2017 10:08:42 -0300 Subject: [PATCH 57/57] Add Changelog vendor_spec --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 22aa51ad..3ece1e37 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Add in option to wrap long calendar events to multiple lines using `wrapEvents` configuration option. - Add test e2e `show title newsfeed` for newsfeed module. - Add task to check configuration file. +- Add test check URLs of vendors. ### Updated - Added missing keys to Polish translation.